Search Issue Tracker

Not Reproducible

Votes

36

Found in

2017.2.0f3

Issue ID

962315

Regression

No

Colliders are not updating to match attached gameObject location

Physics

-

Colliders are not updating to match attached gameObject location. After their object is stored and returned from a pool (reparenting, deactivating and re-activating the gameObject in the process) they become stuck at the location they were at when first activated. The collider gizmo does not reflect this.

To reproduce:

1. Download attached project "WoP Bugreport.zip" and open in Unity
2. Open "bug_example" scene and enter Play mode
Note: Enable gizmos in the game view for better visual cues to raycasting
3. Using a gamepad navigate the player character to the weapon on the ground and pick it up using the 'B' button (XBOX controller)
4. Use the 'X' button (XBOX controller) to fire the weapon at the enemy, killing them and causing them to return to the pool.

Notes:
- The enemies spawn one at a time from a pool of 10 total.
- After the 10th enemy has been dispatched they will start recycling. At this point observe that both the aim assist feature and the collision of projectiles confirm the enemy's collider remains at their initial spawn point as they move about.
- By selecting the enemy in the hierarchy and disabling/enabling their sphere collider, observe that it moves to the latest position of the game object but does not update.
- Workaround: By adjusting any property of the sphere collider, observe that the collider now begins to follow the game object as would normally be expected
- This issue appears on Unity Editor and Standalone Build

Reproduced on Unity 2017.2.0f3 and 2017.2.0p1
Not reproduced on Unity 2018.1.0a2
Could not check for regression on Unity 2017.1 and 2017.3 because XBOX Controller does not work for some reason

Comments (39)

  1. 2a9c3e3807b17f51a7cbb4ffdaa38ea8?d=mm

    Roobubba

    Aug 01, 2018 10:45

    I just updated to 2018.2.1f1 and my entire game was broken due to this issue.
    I used the fudge that MisterFoogy mentioned (thanks MisterFoogy!!) of setting position *after* parenting to ensure that colliders on child objects are actually moved with their gameobject, and it works.

    This needs to be fixed at the engine level as it's clearly a bug, and - at least in my case - an entirely game-breaking one.

  2. 5e6460facbd5648f3f076fd69ca9c150?d=mm

    benVisiativ

    Jul 25, 2018 09:30

    By the way the bug is set as "Not Reproducible".
    But it is very easily reproductible.
    Just do as MAGIS_MARC says :
    "I get the problem when via script I re-parent a child game object to a temp-dummy object, transform the gameobject (containing the collider), and then reparent it back to its original parent . The collider remains stuck where the mesh was spawned."

  3. 8c1c8de086b9d0edf7091554980300e2?d=mm

    Magic_Marc

    Jul 24, 2018 14:15

    This bug broke the world.
    I get the problem when via script I re-parent a child game object to a temp-dummy object, transform the gameobject (containing the collider), and then reparent it back to its original parent . The collider remains stuck where the mesh was spawned.

  4. 5e6460facbd5648f3f076fd69ca9c150?d=mm

    benVisiativ

    Jul 24, 2018 07:54

    We are currently stuck on the 2018.1.2f1 because of this bug.
    After this version, all the collider are in wrong position.
    Because of how our project works we can't use the workaround.
    I hope it gets fix soon

  5. C588d6e51490389e9fbe3537c2146a21?d=mm

    juanfornos

    Jul 20, 2018 02:11

    Still happening to me in Unity 2018.2.0f2. I solved it with MISTERFOOGY workaround.

  6. 1fabeda8be1ff346d9f6d91d9316be7e?d=mm

    onnep

    Jul 18, 2018 08:24

    Still occurs. We instance 3D objects to a 3D scene with box colliders that are then selected in screenspace with a mouse. When instaced, they don't work in the intended position. But after doing the on/off for the 'IsTrigger' - hack, it works correctly.

    This used to work correctly(without the hack) in our project for Unity 2017.4.2f2, but stopped working after we tried to upgrade to Unity 2018.2.0f2.

  7. 8b3646f8bc6a52cf1ef96345133f511b?d=mm

    zornor90

    Jul 08, 2018 22:35

    Can confirm that this is happening on Unity 2018.2.

  8. 6e5d323404dd81451eb2d41384d5ee9c?d=mm

    MisterFoogy

    Jul 04, 2018 14:13

    I was having a similar issue when creating new gameobjects as children and adding spherecollider components to them. What I was doing was: new Gameobject() -> add spherecollider -> set position to that of parent -> set parent. This would cause the collider to trigger like if it was placed at the world origin, even though in the inspector it seems to be at the right place. I solved it by instead doing: new GameObject() -> add spherecollider -> set parent -> set position to that of parent.

  9. 1c2cd20c5ff1e0da4d18c7c4512af62e?d=mm

    EvalDaemon

    Jun 29, 2018 19:51

    Just upgraded to 2018.1.6f and yes this is happening. Toggling isTrigger manually or by code fixes it, but has to be done on every insantiated game object collider.

  10. Cf2be981ee8cc0339f386d6abf5cbf53?d=mm

    KKOHNO

    Jun 05, 2018 10:25

    Getting this in 2018.2 beta 5 for box colliders too!!!

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.