у меня похожая проблема возникала, когда в коде делаем rigidbody.isKinematic = true, а затем rigidbody.isKinematic = false; Объект продолжал висеть, хотя в редакторе показывает, что галочка с Kinematic убрана. Написал в юнити багрепорт по этому поводу, сказали, что да, баг. Исправили и прислали письмо, что баг исправлен и будет выпущен в следующих релизах. В каком именно не уточнили.
А вообще такая ситуация лечится явным вызовом метода:
rigidbody.WakeUp();
Т.е. надо в коде поставить так:
rigidbody.isKinematic = false;
rigidbody.WakeUp();
Если это вам поможет)