Crear un menú principal en Unity es esencial para cualquier videojuego. En este tutorial, aprenderás a diseñar un menú con botones interactivos que permitirán: ✅ Iniciar el juego
✅ Mostrar créditos
✅ Salir del juego
🔹 1. Crear la Interfaz de Usuario (UI)
📌 Paso 1: Crear el Canvas
- En la barra superior de Unity, ve a GameObject > UI > Canvas.
- Nombra el Canvas como «MenuPrincipal».
- Asegúrate de que el
CanvasScaler
está configurado en:- UI Scale Mode:
Scale With Screen Size
- Reference Resolution:
1920x1080
(o la resolución que prefieras).
- UI Scale Mode:
📌 Paso 2: Agregar un Panel de Fondo
- Dentro del
Canvas
, haz clic derecho > UI > Panel. - Nómbralo «PanelFondo».
- En el
Inspector
, cambia elColor
a algo más atractivo (por ejemplo, un degradado).
📌 Paso 3: Agregar los Botones
- Dentro del
Canvas
, haz clic derecho > UI > Button – TextMeshPro (si no tienes TextMeshPro instalado, usaButton
normal). - Renómbralo como «BotonJugar».
- Duplica (
Ctrl + D
) este botón dos veces y nómbralos:- «BotonCreditos»
- «BotonSalir»
- Modifica el texto de cada botón:
BotonJugar
→ «Jugar»BotonCreditos
→ «Créditos»BotonSalir
→ «Salir»
💡 Consejo: Ajusta los botones en la jerarquía para que estén alineados verticalmente.
🔹 2. Crear el Script del Menú
Ahora crearemos un script para que los botones funcionen.
📌 Paso 4: Crear el Script MenuPrincipal.cs
- Ve a tu carpeta
Scripts
(Assets/Scripts
). - Clic derecho > Create > C# Script.
- Nómbralo
MenuPrincipal.cs
y ábrelo. - Pega este código:
using UnityEngine;
using UnityEngine.SceneManagement;
public class MenuPrincipal : MonoBehaviour
{
// Método para cargar la escena del juego
public void Jugar()
{
SceneManager.LoadScene(1); // Asegúrate de que la escena del juego está en el índice 1 en Build Settings
}
// Método para mostrar los créditos (puedes enlazar un panel)
public GameObject panelCreditos;
public void MostrarCreditos()
{
if (panelCreditos != null)
{
panelCreditos.SetActive(true);
}
}
// Método para cerrar el juego
public void Salir()
{
Debug.Log("Saliendo del juego...");
Application.Quit();
#if UNITY_EDITOR
UnityEditor.EditorApplication.isPlaying = false;
#endif
}
}
🔹 3. Asignar Funcionalidad a los Botones
📌 Paso 5: Asignar el Script a un GameObject
- En la jerarquía (
Hierarchy
), crea un objeto vacío (GameObject > Create Empty
). - Nómbralo «MenuController».
- Arrástrale el script
MenuPrincipal.cs
(Add Component > MenuPrincipal
).
📌 Paso 6: Conectar los Botones
- Selecciona el
BotonJugar
en la Jerarquía. - En el Inspector, busca la sección
Button > OnClick()
. - Haz clic en el
+
para agregar una nueva acción. - Arrastra el
MenuController
al campo vacío. - En la lista desplegable, selecciona
MenuPrincipal > Jugar()
.
✍ Repite esto para los otros botones:
BotonCreditos
→MenuPrincipal > MostrarCreditos()
BotonSalir
→MenuPrincipal > Salir()
🔹 4. Configurar la Escena en Build Settings
Para que los cambios de escena funcionen correctamente:
- Ve a File > Build Settings.
- Añade la escena actual (
Add Open Scenes
) y asegúrate de que está en el índice0
. - Añade la escena del juego y asegúrate de que está en el índice
1
.
🎮 Resultado Final
✅ Un menú funcional con botones interactivos.
✅ «Jugar» carga la escena del juego.
✅ «Créditos» muestra un panel con información.
✅ «Salir» cierra el juego.
¡Tu menú principal en Unity ya está listo! 🚀🎮
💬 ¿Qué puedes mejorar?
🔥 Agregar animaciones a los botones.
🎨 Personalizar los estilos y colores.
🔊 Añadir efectos de sonido al presionar los botones.
🏆 Crear una transición al entrar al juego.
