jairogarcíarincón

Game Manager y escena Preload


3.65K

Game Manager y escena Preload

Por defecto, la versión actual de Unity no tiene un objeto gestor de escenas, sino que cualquier objeto creado se destruye al cambiar de escena.

Es por ello que debemos crear una escena vacía que se ejecute al arrancar y que contenga un objeto que no se destruya durante todo el ciclo de vida del juego.

La escena vacía es la que se suele denominar Preload y será la primera al hacer el Build.

Además, a esta escena le añadiremos un Empty object llamado GameManager y le asociaremos nuestro script GameManager con el siguiente código:


using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;

public class GameManager : MonoBehaviour {

//Objeto GameManager
private GameObject gameManager;

void Start () {

//Busco el objeto llamado GameManager
GameObject gameManager = GameObject.Find("GameManager");

//Le indico que no se destruya al cargar otra escena
DontDestroyOnLoad(gameManager);

//Cargo la escena de inicio
SceneManager.LoadScene("Inicio");

}

}




De este modo, nos hemos asegurado durante todo el juego la existencia de un objeto con un script asociado que nos permitirá controlar los cambios entre las diferentes escenas.

Para terminar, haz clic en File > Build Settings y asegúrate de que la escena Preload está añadida. De lo contrario, ha clic en Add Open Scenes y comprueba que se añade:


Publicado el 29 de Enero de 2025

unityescenas