Las listas pueden formar parte de una clase serializable.
using System.Collections.Generic;
[System.Serializable]
public class SaveData
{
public List<string> inventario =
new List<string>();
}
Agregar:
datos.inventario.Add("Pico");
Es común guardar identificadores en vez de objetos completos.
public List<string> items;
Ejemplo:
pico_madera
pocion_roja
llave_01
Después reconstruís los objetos usando una base de datos o ScriptableObjects.
Es más estable que intentar serializar referencias directas a GameObjects.
List<string>
List<int>
Para datos complejos, usar clases serializables dentro de listas.