Search Issue Tracker
By Design
Votes
16
Found in
2020.3.35f1
2021.3.5f1
2022.1.6f1
2022.2.0a17
2023.1.0a2
2023.2.0a1
Issue ID
UUM-5698
Regression
No
OnTriggerEnter and OnTriggerExit not working correctly when changing transform and reparenting Articulation Bodies
Reproduction steps:
1. Open the attached project "1421306.zip"
2. Enter Play Mode
3. Observe the Console window when the "Detectable" GameObject enters, is inside, and exits the "Detector" GameObject
Expected result: OnTriggerEnter is not detected when the "Detectable" is inside the "Detector". OnTriggerExit is detected when the "Detectable" leaves the "Detector".
Actual result: OnTriggerEnter is detected. OnTriggerExit is not detected.
Reproducible with: 2020.3.35f1, 2021.3.4f1, 2022.1.3f1, 2022.2.0a13
Could not test: 2019.4.39f1 - no Articulation Body
Reproduced on: Windows 10 Pro
Notes
- The "Detectable" GameObject is set to be the parent of the "Detector" GameObject when the "Detectable" is inside the "Detector"
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- The Scrollbar becomes unusable when adding Elements to the List
- "One or more data file missing for baking set NewScene Baking Set. Cannot load shared data." error in Player when a specific project is built
- Choosing new HDR Colour using RGB values breaks colour on Intensity Selectors
- Rendering/Decal Layer Mask options are different inside Prefab Mode and outside Prefab Mode when the project is upgraded to Unity 6
- Incorrect Realtime GI Light Probes baking when more than one Light Probe Group is used and "Baked Global Illumination" is enabled
Resolution Note:
One particular limitation of articulation bodies is that one cannot change transforms for them run-time, that stems from the fact that ABs are simulated in the reduced space and any hierarchy change, and most of the transform change kinds requires rebuilding the whole hierarchy.
That said, pretty much the only transform change allowed is teleporting root. Setting transforms values directly will be ignored (they are simply not listened for). Changing parent requires rebuilding both of the affected articulations. Because of that rebuild, we have to remove objects from the scene and add them back.