olá atualmente eu estou no capítulo 1 do curso na aula 10 e hoje fui abrir o projeto para continuar a aula e ele parecia corrompido. não sei o que fazer para recuperar o projeto pois já tentei de tudo 
Além disso eu estava com bug no meu condigo
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
olá atualmente eu estou no capítulo 1 do curso na aula 10 e hoje fui abrir o projeto para continuar a aula e ele parecia corrompido. não sei o que fazer para recuperar o projeto pois já tentei de tudo 
Além disso eu estava com bug no meu condigo
Ola, colega!
O que está acontecendo
O erro principal é este:
CS0120 – Uma referência de objeto é necessária para o campo, método ou propriedade
InputManager.Movementnão estática
No seu script PlayerBehaviour, você está acessando assim:
InputManager.Movement
Isso só funciona se Movement for static.
Mas pelo erro, ele não é estático, ou seja, pertence a uma instância de InputManager, não à classe em si.
Por causa disso, a Unity não consegue compilar o projeto e abre aquele alerta pedindo para entrar em Safe Mode.
Por que a Unity pede Safe Mode?
Quando há erro de compilação, a Unity não consegue importar os scripts corretamente.
O Safe Mode serve justamente para você corrigir o código sem o projeto quebrar de vez.
Pode entrar em Enter Safe Mode sem medo.
Opção 1 — Tornar Movement estático (se for a ideia do curso)
No script InputManager, algo assim:
public static float Movement { get; private set; }
E no Update() dele:
Movement = Input.GetAxis("Horizontal");
Aí o seu código atual funciona normalmente:
float moveDirection = InputManager.Movement * Time.deltaTime * moveSeed;
InputManagerSe não for para ser estático, você precisa de uma referência:
[SerializeField] private InputManager inputManager;
E usar assim:
float moveDirection = inputManager.Movement * Time.deltaTime * moveSeed;
(lembrando de arrastar o InputManager no Inspector)
Abçs;