Search Issue Tracker
By Design
Votes
0
Found in
2018.2.1f1
Issue ID
1074083
Regression
No
Nested object with rigidbody does not execute Rigidbody.MovePosition() when parent object is moved by script
How to reproduce:
1. Download and open attached "BrokenRB" project
2. Load SampleScene and enter Play Mode
3. Observe how Sphere object is moving along the side of Capsule
3. Disable Plane object in Hierarchy
Expected result: Sphere object is moving along the side of Capsule while parent object is falling
Actual result: Sphere object is staying in place attached to the parent object and is not moving
Reproduced with: 2017.4.11f1, 2018.1.9f2, 2018.2.2f1, 2018.3.0a11
Notes: Manually moving parent object "Character Controller" in the Scene works as expected (does not stop movement of child object)
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
- "Shader warning in 'Hidden/Light2D': implicit truncation of vector type" is thrown when building Universal 2D template
- AI Assistant breaks compilation of packages using System.Runtime.CompilerServices.Unsafe via auto-referencing
- Unity Hub checks the "Documentation" module by default on the 6.4 and 6.5 streams despite that it was unchecked with the previous installs
- Shortcut that toggles between Dopesheet and Curves Views in the Animation Window's Timeline is mislabed
- Property List Items Overlap onto the Property List's top edge when scrolling through a long Property List
Resolution Note:
A kinematic rigidbody can only have one target position per physics frame. Each consequent MovePosition/MoveRotation is just overriding the end goal that is applied at the end of the frame. Here we have a conflict really. On one hand, we have use code trying to animate the kinematic sphere, on the other hand, there is a hierarchy induced change because the sphere is parented to a dynamic body. Currently, we resolve this by making it that the hierarchy changes take precedence over anything else.