Gabriel, faz o seguinte, vai no script ControlaJogador, lá em Update(), nas linhas 29 e 30 tem os códigos de input, ao invés da função GetAxis, usa a GetAxisRaw. Depois vá no FixedUpdate(), e ao invés de movimentar o jogador usando: rigidbodyJogador.MovePosition(rigidbodyJogador.position + (direcao velocidade Time.deltaTime)); use o velocity.
Ficará assim:
void Update()
{
float eixoX = Input.GetAxisRaw("Horizontal");
float eixoZ = Input.GetAxisRaw("Vertical");
}
void FixedUpdate()
{
rigidbodyJogador.velocity = direcao.normalized * velocidade;
}
Outro detalhe, de uma olhada em todos objetos com colisores e verifique se está tudo bem fechado, para não ter nenhum vão que o jogador possa passar.
Quando testei seu projeto, o colisor do estacionamento principal(onde o jogo começa) estava muito acima do chão, isso fazia com que o jogador andasse muito lentamente e após sair do estacionamento, ele não conseguia voltar. Para resolver isso, é so mover o colisor até a linha do chão.