PlayerPrefs es mejor para datos pequeños.
Usar:
Application.persistentDataPath
Evitar escrituras constantes.
Puede causar errores al cargar por primera vez.
Guardar IDs y datos simples.
Un cambio futuro puede romper saves viejos.
Un archivo puede contener datos inesperados.
ScriptableObject
= datos de diseño
Save
= progreso del jugador
Usar validación y, si corresponde, try-catch.