Salvando / carregando dados no Unity

Eu tenho mexido com o salvamento e o carregamento no Unity, no qual salvo uma classe serializada em um arquivo. Eu tenho uma classe serializável:

[Serializable]
class Save
{
    public List<int> ID = new List<int>();
    public List<int> Amounts = new List<int>();
}

e salve-o em um arquivo A-OK. Posso carregá-lo sem erros, mas se eu quiser adicionar mais tarde:

[Serializable]
class Save
{
    public List<int> ID = new List<int>();
    public List<int> Amounts = new List<int>();
    public int extra = 0;
}

e eu executo meus scripts, isso me dá um erro de desserialização que eu entendo completamente como quando lancei o arquivo desserializado para minha nova classe 'Saved', a nova variável que adicionei não existe e isso me dá o erro.

Encontrei esse erro ao corrigir um ativo na loja e sei que uma correção pode ser apenas alterar o nome do arquivo para criar um novo arquivo, mas não quero apenas limpar o conteúdo do que foi salvo anteriormente.

Portanto, minha pergunta é: se eu quisesse adicionar mais variáveis à minha classe serializada, como capturaria e me ajustaria às versões antigas dela se as pessoas atualizassem o ativo?

Obrigado!

questionAnswers(1)

yourAnswerToTheQuestion