Tá com um delay no movimento do personagem, é mais notável quando solta a tecla de movimentação, o personagem demora um pouco para parar de movimentar
Segue os códigos
Controla o Jogador
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
public class ControlaJogador : MonoBehaviour, IMatavel
{
    Vector3 direcao;
    public LayerMask mascara;
    public GameObject texto;
    public ControlaInterface scriptControlaInterface;
    public AudioClip SomDano;
    private MovimentoJogador meuMovimentoJogador;
    private AnimPersonagem animacaoJogador;
    public Status StatusJogador;
    private void Start()
    {
        Time.timeScale = 1;
        meuMovimentoJogador = GetComponent<MovimentoJogador>();
        animacaoJogador = GetComponent<AnimPersonagem>();
        StatusJogador = GetComponent<Status>();
    }
    void Update()
    {
        float eixoX = Input.GetAxis("Horizontal");
        float eixoZ = Input.GetAxis("Vertical");
        direcao = new Vector3(eixoX, 0, eixoZ);
        animacaoJogador.Movimentar(direcao.magnitude);
        if(StatusJogador.Vida <= 0)
        {
            if (Input.GetButtonDown("Fire1"))
            {
                SceneManager.LoadScene("game");
            }
        }
    }
    private void FixedUpdate()
    {
        meuMovimentoJogador.Movimentar(direcao, StatusJogador.Velocidade);
        meuMovimentoJogador.RotacaoJogador(mascara);
    }
    public void TomarDano (int dano)
    {
        StatusJogador.Vida -= dano;
        scriptControlaInterface.AtulziarSliderVidaJogador();
        ControlaAudio.instancia.PlayOneShot(SomDano);
        if (StatusJogador.Vida <= 0) 
        {
            Morrer();
        }
    }
    public void Morrer()
    {
        Time.timeScale = 0;
        texto.SetActive(true);
    }
}Controla a movimentação
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MovimentoPersonagem : MonoBehaviour
{
    private Rigidbody meuRigidbody;
    private void Awake ()
    {
        meuRigidbody = GetComponent<Rigidbody>();
    }
    public void Movimentar(Vector3 direcao, float velocidade)
    {
        meuRigidbody.MovePosition(meuRigidbody.position + direcao.normalized * velocidade * Time.deltaTime);
    }
    public void Rotacionar(Vector3 direcao)
    {
        Quaternion novaRotacao = Quaternion.LookRotation(direcao);
        GetComponent<Rigidbody>().MoveRotation(novaRotacao);
    }
} 
            