Unity3d. Rigidbody MovePosition is not working. What is the difference between FixedUpdate and Update?

Physics based movement needs to happen in the fixed update.
Physics based movement code, including rigidBody.MovePosition() needs to go in the FixedUpdate().

Update() is called in every frame but it is not called on a regular timeline. If you code takes longer there will be fewer updates.

FixedUpdate() is called on a regular timeline and has the same length between executions. Fixed update will always have the same Time.deltatime