Não ficou tão claro sobre como é reconhecido que o RigidBody está encostado em um colisor e para de avançar, quando mudávamos a posição pelo transform, ele andava e logo depois era repulsado, correto? Como o RigidBody alterou isso? O centro dele é no colisor que fizemos para o personagem, então ele não deveria seguir o mesmo comportamento do transform (no caso de andar e depois ser repulsado)? E adicionando o código para o FixedUpdate, porque ele funcionou melhor que o Update comum para nosso problema?