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!