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
- Fixing Message Loss in UMPE During Domain Reload
- The Editor freezes when ScheduleReadOnly of IJobParallelForTransform with dependency is used
- Text is truncated in the Inspector when the display scale is set to 150%
- CancellationTokenSource(<timeout>) has incorrect cancellation status when used in WebGL Player
- VFX property value names are cut off when properties with 'Arc' are viewed in the VFX Blackboard
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.