Guardar / cargar datos en Unity

He estado jugando con guardar y cargar en Unity en el que guardo una clase serializada en un archivo. Tengo una clase serializable:

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

y guárdelo en un archivo A-OK. Puedo cargarlo sin errores, pero si quisiera agregar más tarde:

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

y ejecuto mis scripts, me da un error de deserialización que entiendo completamente cuando lanzo el archivo deserializado a mi nueva clase 'Guardado', la nueva variable que agregué no existe y me da el error.

Encontré este error cuando estaba arreglando un activo en la tienda y sé que una solución puede ser simplemente cambiar el nombre del archivo para que se cree un nuevo archivo, pero no solo quiero borrar el contenido de lo que se guardó antes.

Entonces, mi pregunta es, si quisiera agregar más variables a mi clase serializada, ¿cómo podría detectar y adaptarme a las versiones anteriores si la gente actualizara el activo?

¡Gracias!

Respuestas a la pregunta(1)

Su respuesta a la pregunta