Un autosave guarda automáticamente en determinados momentos.

Ejemplos de momentos

Timer básico

[SerializeField]
private float intervalo = 120f;

private float tiempo;

void Update()
{
    tiempo += Time.deltaTime;

    if (tiempo >= intervalo)
    {
        GuardarPartida();
        tiempo = 0f;
    }
}

Mejor que guardar cada frame

No hagas:

void Update()
{
    GuardarPartida();
}

Eso genera escrituras innecesarias.

Al cerrar

void OnApplicationQuit()
{
    GuardarPartida();
}

Al pausar aplicación

En algunas plataformas también puede ser útil:

void OnApplicationPause(bool pause)
{
    if (pause)
    {
        GuardarPartida();
    }
}

Resumen rápido

Guardar por: