Conviene agrupar todos los datos de una partida en una clase específica.

Ejemplo

[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;
}

Crear datos

SaveData datos = new SaveData();

datos.monedas = monedas;
datos.nivel = nivel;

Posición

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
);

Ventaja

Centraliza qué información pertenece al save.

Resumen rápido

[System.Serializable]
public class SaveData
{
    public int version;
    public int monedas;
    public int nivel;
}