Cambiar de escena POR NOMBRE al PULSAR BOTÓN en Unity

Introducción

En cualquier momento que queramos podemos cargar cualquier escena de Unity a través de código, por ejemplo estando en la escena del menú principal podemos darle a un botón para comenzar y al hacerlo cargar una segunda escena con el primer nivel del juego o cargar una escena donde haya montada una cinemática que comienza a reproducirse ni bien la escena carga. También podríamos tener distintos niveles montados en distintas escenas y luego en la escena del menú principal podríamos tener una ventana con un menú de selección en el que haya un panel con varios botones y hacer que cada botón cargue una escena distinta.

En este artículo vamos a ver una solución para cambiar a cualquier escena utilizando botones en Unity, esta solución lo que hace es cargar las escenas por su nombre a través de un único script.

Descargar paquete de Unity con las escenas y el Script

A continuación puedes descargar el paquete con el script y las escenas que se ven en el vídeo. Para importarlo simplemente arrástralo a tu proyecto en Unity o haz clic en Assets > Import Package > Custom Package y selecciona el archivo.

En este vídeo vemos cómo CARGAR CUALQUIER ESCENA por NOMBRE al PULSAR un BOTÓN en Unity




Cómo cambiar de escena en Unity

Identificar la escena que se quiere cargar

Existen distintas formas de cambiar de escena en Unity pero en todas ellas será necesario poder referenciar de alguna forma la escena que se quiere cargar.

Una forma de referenciar una escena podría ser a partir del valor entero que indica la posición de la escena en la ventana Build Settings, la primer escena comienza a contarse desde el 0 y es la escena que se abrirá ni bien se abra la aplicación.

Otra forma de referenciar la escena que se quiere cargar puede ser a través del nombre que tiene el archivo con el que se guarda la escena. Este es el método que se utiliza en la solución que se puede descargar más arriba.

Instrucción para cargar una escena en Unity

Las instrucciones de código que permiten cargar una escena en Unity por su número de identificación y por su nombre son las siguientes:

UnityEngine.SceneManagement.SceneManager.LoadScene(numeroIdentificacion);

y

UnityEngine.SceneManagement.SceneManager.LoadScene(nombreEscena);

Estas instrucciones se pueden simplificar si en la cabecera del Script donde se utilizan se implementa el Namespace UnityEngine.SceneManagement, agregando la siguiente línea de código en la cabecera del script:

using UnityEngine.SceneManagement;

Una vez hecho esto las instrucciones se pueden resumir como:

SceneManager.LoadScene(numeroIdentificacion);

y

SceneManager.LoadScene(nombreEscena);



Scroll al inicio
Secured By miniOrange