Un archivo puede faltar, estar vacío o contener datos inválidos.
if (!File.Exists(ruta))
{
return CrearDatosIniciales();
}
try
{
string json =
File.ReadAllText(ruta);
SaveData datos =
JsonUtility.FromJson<SaveData>(
json
);
}
catch (System.Exception error)
{
Debug.LogError(
"Error cargando save: " +
error.Message
);
}
Aunque el JSON cargue, revisá valores críticos.
if (datos.monedas < 0)
{
datos.monedas = 0;
}
Una estrategia más robusta:
save.json
save_backup.json
Antes de reemplazar el save principal, podés conservar una copia anterior.
Revisar:
existe archivo
JSON válido
versión
rangos válidos
backup