Conviene agrupar todos los datos de una partida en una clase específica.
[System.Serializable]
public class SaveData
{
public int version = 1;
public int monedas;
public int nivel;
public float posicionX;
public float posicionY;
public float posicionZ;
public string escena;
}
SaveData datos = new SaveData();
datos.monedas = monedas;
datos.nivel = nivel;
Una forma simple es guardar los componentes:
datos.posicionX = transform.position.x;
datos.posicionY = transform.position.y;
datos.posicionZ = transform.position.z;
Restaurar:
transform.position = new Vector3(
datos.posicionX,
datos.posicionY,
datos.posicionZ
);
Centraliza qué información pertenece al save.
[System.Serializable]
public class SaveData
{
public int version;
public int monedas;
public int nivel;
}