5.5p1 AddForceAtPosition breaks rigidbody movement until isKinimatic is checked/unchecked

Hi,
I have a strange issue with rigidbodies in 5.5p1

When a drone is hit with a bullet I call this line of code

i_rcCollision.attachedRigidbody.AddForceAtPosition(i_rcMe.Transform.forward * 1,i_rcMe.Transform.position, ForceMode.Impulse);

After the above line is called (it is only called once I checked) the rigidbody will no longer rotate when told as follows:

var newForward = Vector3.Scale(OrientationVelocity, AllowedMovementAxes).normalized;
newForward = Vector3.Slerp(Transform.forward, newForward, deltaTime / TurnTime);
Rigidbody.MoveRotation(Quaternion.LookRotation(newForward));

The rigidbody will again rotate if I turn “IsKinimatic” on and off.

See the issue and fix here:

Any ideas what is going on here?

I created a repro project and bug. (Case 863707) There seams to be a nasty new behavior introduced in 5.5 where you can no longer apply an impulse through code while also using Rigidbody.MovePosition/MoveRotation. Before this behavior (assuming you slurped between the rigidbodies current position/rotation and desired position/rotation) worked wonderfully.

Someone from Unity if you have a eta on this fix it would be wonderful.

Once an impulse is applied in code a rigidbody can no longer be correctly moved or rotated even after the impulse is ended. It seams that Rigidbody.MovePosition and Rigidbody.MoveRotation now break impulses in 5.5. Interestingly If you apply an impulse by slamming one object into another everything is fine.

In this video I go through the steps outlined below:
https://youtu.be/BCsF17iv2Oo

1)Ensure “Impulse” on TestController is unchecked.

2)Hit play

  1. switch to scene tab and select the sphere.

  2. Watch as the sphere correctly rotates and moves until coming to a stop

  3. Stop playing

  4. Set “Impulse” on the TestController to true

  5. Hit Play

  6. Switch to scene tab and select the sphere

  7. Watch as the sphere gets stuck, unable to rotate or move.

  8. Quickly toggle “IsKinimatic” on and then off

  9. Notice the sphere can again move.