Cambiar de escena al presionar un botón en Unity es una de las funciones más básicas y esenciales en cualquier juego. En este tutorial, aprenderás a:
✅ Cargar una nueva escena al hacer clic en un botón.
✅ Asegurar que las escenas estén configuradas en Unity correctamente.
🔹 1. Configurar las Escenas en Unity
Antes de programar el cambio de escena, debemos asegurarnos de que Unity reconozca las escenas que queremos cambiar.
📌 Paso 1: Agregar las Escenas a Build Settings
- Abre Unity y ve a
File > Build Settings. - Asegúrate de que las escenas están en la lista de
Scenes In Build.- Si no están, presiona
Add Open Scenespara agregarlas.
- Si no están, presiona
- Ordena las escenas correctamente:
Escena 0→ Menú PrincipalEscena 1→ Nivel 1Escena 2→ Nivel 2
(El número de índice es importante para el código)
🔹 2. Crear el Script para Cambiar de Escena
Ahora crearemos un script para manejar los cambios de escena.
📌 Paso 2: Crear un Script CambioDeEscena.cs
- En la carpeta
Scripts, crea un nuevo script (Right Click > Create > C# Script). - Nómbralo
CambioDeEscenay ábrelo. - Copia este código:
using UnityEngine;
using UnityEngine.SceneManagement; // Necesario para cambiar escenas
public class CambioDeEscena : MonoBehaviour
{
// Método para cargar una escena por su índice
public void CargarEscena(int indiceEscena)
{
SceneManager.LoadScene(indiceEscena);
}
// Método para cargar una escena por su nombre
public void CargarEscenaPorNombre(string nombreEscena)
{
SceneManager.LoadScene(nombreEscena);
}
}
🔹 3. Configurar el Botón para Cambiar de Escena
Ahora aplicaremos el script a un botón para que funcione.
📌 Paso 3: Crear el Botón
- En la jerarquía (
Hierarchy), ve aGameObject > UI > Button - TextMeshPro. - Nómbralo
BotonJugar. - En el
Inspector, cambia su texto a"Jugar".
📌 Paso 4: Asignar el Script al Botón
- Crea un GameObject vacío en la jerarquía (
GameObject > Create Empty). - Nómbralo
GestorDeEscenas. - Arrástrale el script
CambioDeEscena.cs(Add Component > CambioDeEscena).
📌 Paso 5: Conectar el Botón con la Función de Cambio de Escena
- Selecciona el botón
BotonJugaren la Jerarquía. - En el
Inspector, busca la secciónButton > OnClick(). - Haz clic en
+para agregar una nueva acción. - Arrastra el
GestorDeEscenasal campo vacío. - En el desplegable, selecciona:
- Para cambiar por índice:
CambioDeEscena > CargarEscena(int) - Para cambiar por nombre:
CambioDeEscena > CargarEscenaPorNombre(string)
- Para cambiar por índice:
- Si usas el índice, escribe
1(si el juego comienza en la escena con índice1). - Si usas el nombre, escribe el nombre exacto de la escena (ejemplo:
"Nivel1").
🎯 Resultado Final
✅ Al presionar el botón «Jugar», se cambiará a la escena configurada.
✅ Puedes usar índices o nombres para mayor flexibilidad.
✅ Si la escena no está en Build Settings, Unity dará un error (asegúrate de agregarla).

