Interface da Unity mostrando um menu principal simples com botões JOGAR e SAIR, e a conexão com um script que carrega a cena do jogo.

Como Fazer um Menu Principal Funcional na Unity em 10 Minutos

Seu jogo já tem um personagem que se move, pula e até fala com outros NPCs. Mas e aí? Como é que o jogador vai começar o jogo? A gente sabe que ter um menu principal é o que dá a cara de “jogo de verdade” pro seu projeto. A falta de uma tela de início funcional faz a gente se sentir preso, com um protótipo que não parece pronto pra ser jogado.

Mas a verdade é que você não precisa de um menu complexo. Você precisa de um menu que funcione. E é exatamente isso que a gente vai fazer agora. Em menos de 10 minutos, a gente vai criar um menu principal simples, com botões que de fato fazem alguma coisa.

Vamos direto ao ponto.


Passo 1: A Cena do Menu

Primeiro, você precisa de uma nova cena. É uma boa prática ter uma cena separada só para o menu principal.

  1. Vá em File -> New Scene.
  2. Salve essa nova cena como MainMenu (ou algo do tipo).
  3. Agora, vamos criar a interface. No painel Hierarchy, clique com o botão direito e vá em UI -> Canvas.
  4. Dentro do Canvas, clique com o botão direito e vá em UI -> Button – TextMeshPro.
  5. Repita o processo para ter dois botões. O primeiro será para “Começar o Jogo”, o segundo para “Sair”.
  6. Renomeie os botões para algo mais claro, como “PlayButton” e “QuitButton”.
  7. Mude o texto dentro de cada botão para JOGAR e SAIR.

Pronto. A parte visual do menu está feita.


Passo 2: O Código do Menu

Agora, a gente precisa de um script que “entenda” os botões.

  1. Crie um novo objeto vazio no Hierarchy e chame de “MenuManager”.
  2. Crie um novo script C# chamado MenuManager e adicione-o a este objeto.

Esse script será o cérebro por trás dos botões. Ele vai ter as funções que carregam a próxima cena e que fecham o jogo.

using UnityEngine;
using UnityEngine.SceneManagement;

public class MenuManager : MonoBehaviour
{
    // Nome da cena do seu jogo (Ex: Level_1)
    public string gameSceneName;

    // Função para começar o jogo
    public void StartGame()
    {
        // Carrega a cena do jogo usando o nome que a gente definiu
        SceneManager.LoadScene(gameSceneName);
    }

    // Função para sair do jogo
    public void QuitGame()
    {
        // Fecha a aplicação
        Application.Quit();
        Debug.Log("O jogo foi fechado.");
    }
}

Por que a gente usa SceneManager.LoadScene? Porque ela é a forma mais simples e direta de carregar uma nova cena. E o Application.Quit()? Ele simplesmente encerra a aplicação quando o jogador clica em sair. O Debug.Log é só para a gente ter certeza de que o botão está funcionando, especialmente no editor da Unity.


Passo 3: Conectando Tudo (O Grande Final)

Agora que você tem os botões e o código, só falta ligar um ao outro.

  1. Selecione o PlayButton no Hierarchy.
  2. No painel Inspector, vá na parte de baixo, na seção “On Click ()”.
  3. Clique no sinal de mais (+) para adicionar um novo evento.
  4. Arraste o objeto MenuManager do Hierarchy para a caixinha que apareceu (o GameObject).
  5. Clique no dropdown “No Function” e selecione MenuManager -> StartGame().
  6. Repita os passos 1 a 5 para o QuitButton, mas desta vez selecione a função MenuManager -> QuitGame().

Atenção: Para que o SceneManager.LoadScene funcione, você precisa adicionar a sua cena de jogo (por exemplo, Level_1) nas configurações de build. Vá em File -> Build Settings e arraste a cena do seu jogo para a lista.


Conclusão

É isso. Em poucos passos, você transformou seu protótipo em algo com uma tela de início, algo que o jogador pode abrir, clicar em JOGAR e, de fato, começar.

O importante não é ter um menu animado, cheio de efeitos, mas sim ter algo que funcione. Feito é melhor que perfeito. E agora, seu jogo está um passo mais perto de ser jogado por outras pessoas. O que mais você quer adicionar para deixar seu jogo pronto?

Compartilhe !