Сохранение / загрузка данных в Unity

Я возился с сохранением и загрузкой в ​​Unity, в которой я сохраняю сериализованный класс в файл. У меня есть сериализуемый класс:

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

и сохраните его в файл A-OK. Я могу загрузить его без ошибок, но если я хочу добавить позже:

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

и я запускаю свои сценарии, это дает мне ошибку десериализации, которую я полностью понимаю, поскольку, когда я преобразовываю десериализованный файл в свой новый класс 'Сохраненный', новая переменная, которую я добавил, не существует, и это дает мне ошибку.

Я обнаружил эту ошибку, когда исправлял Актив в магазине, и я знаю, что одним исправлением может быть просто изменить имя файла, чтобы создать новый файл, но я не хочу просто стереть содержимое того, что было сохранено ранее.

Итак, мой вопрос: если бы я хотел добавить больше переменных в мой сериализованный класс, как бы я перехватил и приспособился к старым версиям этого класса, если бы люди обновляли актив?

Спасибо!