Save Data Simulator
Utiliza el Save Data Simulator para inspeccionar los valores guardados de tu juego, comprobar el espacio disponible y probar los mensajes que los jugadores ven cuando se guarda o se produce un error de carga. Utiliza el archivo de guardado de Play Mode del editor.
Abre View > Save Data Simulator con un proyecto cargado.

Un archivo de guardado nuevo del editor con cero entradas. Add / Set edita un valor, Flush Atomically guarda los valores actuales y Failure Simulation permite probar los mensajes de error de guardado.
Abre la imagen para verla a tamaño completo.Capacidad de guardado
El simulador informa de los límites impuestos tanto por el editor Play Mode como por el tiempo de ejecución de PS1:
| Límite | Valor |
|---|---|
| Entradas | 32 máximo |
| Longitud de clave | 1-31 octetos |
| Longitud del valor | 0-63 octetos |
| Asignación | Un bloque de tarjeta de memoria de 8 KB |
El indicador de carga útil incluye los registros de entrada serializados fijos, por lo que es una señal de mejor capacidad que sumar solo las longitudes de cadena visibles.
Para PlayerPrefs, el límite de las claves es de 28 bytes y el de los valores de texto es de 61 bytes. El simulador muestra estas entradas con el prefijo pp: y un indicador de tipo. Usa la API de PlayerPrefs para editar valores tipados en los scripts. Ambas API comparten la capacidad de 32 entradas.
Inspecciona y edita los valores en memoria
Las entradas existentes se enumeran en orden de clave. Puede editar un valor, eliminar una entrada o usar Add / Set para crear o reemplazar una clave.
| Comando | Resultados |
|---|---|
| Reload from Disk | Reemplaza el espejo en memoria por el último guardado del editor que haya persistido. |
| Flush Atomically | Escribe el espejo completo a través de una operación de reemplazo atómico. |
| Clear Mirror | Borra los valores de la copia en memoria; el borrado no se guarda en disco hasta ejecutar Flush. |
| Show File | Revela Build/EditorPlay/editor_play_savedata.json. |
La edición del simulador cambia el mismo espejo utilizado por los scripts Play Mode. No edite el archivo JSON a mano mientras el editor está abierto; usa el simulador o la API de scripting pública para que la validación y las escrituras atómicas permanezcan activas.
Failure Simulation
Elige un modo Failure Simulation antes de ejercer un flujo de guardado o de carga:
- Memory card absent hace que las operaciones del dispositivo fallen como si no se hubiera insertado ninguna tarjeta.
- Memory card full reproduce un fallo de capacidad de escritura.
- Corrupt save on reload permite probar la validación y la recuperación cuando los datos guardados son ilegibles.
La ventana muestra el último resultado SaveData. Los scripts aún deben verificar la operación directamente y obtener el mensaje procesable con SaveData.GetLastError():
local saveStatusId = -1
function Start(gameObjectId)
saveStatusId = UI.Find("Save Status")
end
function SaveProgress()
if not PlayerPrefs.SetInt("chapter", 3) or not PlayerPrefs.Save() then
Log.Print("Save failed: " .. SaveData.GetLastError())
Text.SetText(saveStatusId, "Could not save")
return false
end
Text.SetText(saveStatusId, "Progress saved")
return true
end
Matriz de prueba
Antes de publicar un proyecto, comprueba al menos:
- primera ejecución sin un archivo de guardado existente;
- guardado normal, reinicio y carga;
- sobrescribir un guardado existente;
- restablecer a través de
PlayerPrefs.DeleteAll()sin borrar entradasSaveDatasin procesar no relacionadas; - tarjeta ausente y tarjeta llena;
- una recarga de guardado corrupto y una ruta de recuperación legible por el jugador; y
- los mismos escenarios en DuckStation y hardware real o una ODE.
Consulta PlayerPrefs y SaveData para ver el contrato de scripting completo.