Olá, Enquanto assistia, pensei em fazer um Awake do GetComponent com intuito de deixar mais limpo o FixedUpdate. E bem a Unity processo tudo certo, e os movimentos do personagem ficou pleno.
A pergunta é: Isso por ocasionar em alguma problema mais para frente?
Codigo:
Rigidbody fisica;
private void Awake { this.fisica = this.GetComponent(); }
private void FixedUpdate() { fisica.MovePosition (fisica.position + movimentacao * velocidade * Time.deltaTime); }