Aprendendo a programar jogos em Unity: primeiros passos para a construção do menu inicial

Construiremos a estrutura básica para a criação do menu inicial de nossa aventura.

em 22/03/2026
Seja bem-vindo(a) ao GameDev: Aprendendo a programar jogos em Unity! Após recapitularmos, em nosso encontro anterior, as etapas que percorremos durante a construção de nosso game mais recente, vamos voltar a elaborar novas funcionalidades e recursos para o projeto, mais especificamente iniciar a montagem dos elementos que irão compor o menu inicial do jogo.

Caso essa seja a primeira vez que você acessa conteúdos de nossa série, sinta-se especialmente convidado a juntar-se a nós em uma divertida jornada de aprendizados sobre o mundo do desenvolvimento de games.

Por meio da elaboração de diferentes projetos de programação de jogos, estamos aprendendo diversas técnicas e ferramentas utilizadas no processo de elaboração de games dos mais variados estilos gráficos e de gameplay.

Ferramentas como a Unity são utilizadas  para desenvolvimento de jogos pelos mais variados estúdios. Games como Cuphead, Super Bomberman R e Among Us foram criados utilizando essa e outras ferramentas de apoio ao desenvolvedor muito interessantes; por isso, estamos aprendendo nessa série a desenvolver nossos projetos utilizando a Unity, para que possamos entender e aplicar as mesmas técnicas adotadas por estúdios do mundo inteiro.

Não se preocupe caso não tenha conhecimentos prévios sobre programação de jogos ou de sistemas, pois, em nossa série, todas as etapas do processo de criação dos projetos são detalhadas de forma a permitir a quem queira tirar do papel seus próprios games experimentar, aprender e aplicar os conceitos em seus projetos pessoais.

A partir do primeiro texto da série, abordamos desde a instalação e a configuração da ferramenta Unity  em nossos computadores até os passos que envolvem a criação de fases, codificação das regras dos desafios e a configuração de elementos multimídia representantes de personagens, de objetos e  de adversários em cena.

Até o momento, finalizamos a construção de dois jogos 2D, Forest Ping Pong Motorista da Pesada, e estamos trabalhando no projeto de um puzzle tridimensional, de nome Consultório do Dr. Tratanildo. Vale muito a pena conferir todo o processo de elaboração dos jogos por meio do índice disponibilizado no primeiro texto da série.

Se você gostou da ideia de criar seu próprio game, junte-se a nós para caminharmos uma trilha de aprendizados repleta de novos conhecimentos e de muita diversão!

Elementos iniciais do menu

Diferentemente do realizado para o projeto de Motorista da Pesada, em Consultório do Dr. Tratanildo iremos elaborar o menu também na estrutura da cena principal do game. Embora, na concepção de um jogo complexo, o ideal seja a construção de cenas separadas para menus iniciais e ação do game, iremos confeccionar essa tela sob a estrutura do Canvas da cena principal para facilitar posteriores alterações que realizaremos na aparência do menu finalizado.

Para começarmos a estruturar os elementos do menu, vamos abrir o projeto para edição. No Unity Hub, clique duas vezes sobre o item referente a ele. Na interface inicial do editor, na aba Project, abra a pasta AssetsScenes e, por fim, clique duas vezes no ícone da cena ConsultorioScene

Na aba Hierarchy, clique com o botão direito sobre o GameObject Canvas e, no menu suspenso exibido, selecione a opção Create Empty.

Conceda o nome “MenuInicial”, sem as aspas, ao novo objeto criado. Selecione-o e, via aba Inspector, conceda os seguintes valores a atributos de seu componente Rect Transform:
  • Âncoras: selecione a opção de nome Stretch Stretch;
  • Left, Right, Top e Bottom = 0.
Para facilitar temporariamente a visualização de MenuInicial em cena, vamos conceder um componente de tipo Image ao GameObject, por meio do botão Add Component. Após a concessão, configure o valor de seu atributo Color para cinza (R, G, B = 200), conforme exemplificado pela imagem a seguir:

Voltando à aba Hierarchy, clique com o botão direito sobre MenuInicial e, no menu suspenso, selecione a opção UI e, em seguida, Image. O nome do novo objeto subordinado a MenuInicial será “Logo”, sem as aspas. Conceda os seguintes valores aos atributos do componente Rect Transform, na ordem indicada a seguir:
  • Âncoras: selecione a opção de nome Top Left;
  • Pivot X = 0, Y = 0;
  • Pos X = 75, Y = -400;
  • Width = 800; e
  • Height = 500.
Em seguida, ainda na aba Inspector, altere o valor do atributo Source Image de seu componente Image para o sprite de nome “logo”, presente no projeto. Por fim, deixe marcada a caixa de seleção do atributo Preserve Aspect (valor true). A imagem a seguir representa as intervenções ao objeto que realizamos, visando posicionar o logo do game no canto superior esquerdo da tela de menu:

Os botões do menu principal do jogo serão exibidos na parte inferior da tela, deixando o espaço principal do Canvas para a exibição de imagens do consultório, funcionalidade que construiremos em encontros posteriores.

Na aba Hierarchy, clique com o botão direito sobre MenuInicial e, no menu suspenso, selecione a opção Create Empty. Nomeie o novo GameObject como “Opcoes”, concedendo aos atributos de seu componente Rect Transform os seguintes valores:
  • Âncoras: selecione a opção de nome Bottom Stretch;
  • Left Right = 25;
  • Pos Y = 150;
  • Height = 200.
Em seguida, de volta à aba Hierarchy, clique com o botão direito sobre Opcoes, selecionando a opção UI e, em seguida, Button,  no menu suspenso apresentado. O nome do primeiro botão será “BotaoIniciarPartida”. Repita a operação mais duas vezes, criando novos botões de nomes “BotaoOpcoes” e “BotaoSobre” também subordinados à Opções.

Botões e organização

Nesse momento, poderíamos adicionar um componente de tipo Horizontal Layout Group ao objeto Opcoes para organizar as dimensões e posicionamentos dos botões subordinados a si, mas faremos diferente dessa vez, por meio de edição em valores dos componentes Rect Transform de cada botão. Essa abordagem será utilizada para permitirmos que o botão principal para início da aventura seja maior que os demais, sem precisarmos apelar a muitos “malabarismos” e configurações em cena.

Selecione o primeiro botão (BotaoIniciarPartida), realizando as seguintes intervenções para os valores dos atributos de seu componente Rect Transform:
  • Anchors (destacado em laranja, na imagem a seguir)
    • Min X e Min Y = 0;
    • Max X = 0.5, Max Y = 1;
  • Left e Right = 25;
  • Top e Bottom = 0.

Em seguida, é a vez de editarmos os atributos do componente Rect Transform de BotaoOpcoes:
  • Anchors (destacado em laranja, na imagem a seguir)
    • Min X = 0.5;
    • Min Y = 0;
    • Max X = 0.75, Max Y = 1;
  • Left Right = 25;
  • Top Bottom = 0.

Por último, realize as mesmas intervenções para BotaoSobre, concedendo os seguintes valores:
  • Anchors (destacado em laranja, na imagem a seguir)
    • Min X = 0.75;
    • Min Y = 0;
    • Max X = 1 e Max Y = 1;
  • Left Right = 25;
  • Top Bottom = 0.

Note, em cena, como ficarão dispostos os botões: o elemento principal, que acionará o processo de início da partida, cobre aproximadamente o dobro da área dos demais elementos presentes na barra de botões do menu inicial:

Para finalizar a composição visual básica do menu, vamos realizar intervenções ao texto de cada botão.

Selecione simultaneamente os objetos de nome Text, subordinados aos objetos representantes de cada um dos botões do menu. Na aba Inspector, altere os seguintes atributos de seus componentes Text:
  • Character:
    • Font: escolha a opção de nome “Poppins-Bold”
  • Paragraph:
    • Best Fit: deixe a caixa de seleção marcada (valor true);
    • Min Size = 10;
    • Max Size = 75.
Por fim, conceda a cada um dos botões o seguinte conteúdo para seu respectivo atributo Text, do componente Text:
  • BotaoIniciarPartida: o texto a ser concedido será “Iniciar partida”, sem as aspas;
  • BotaoIniciarPartida: o texto a ser concedido será “Opções”; e
  • BotaoIniciarPartida: o texto a ser concedido será “Sobre o jogo”.
A imagem a seguir ilustra como ficou a configuração básica do menu e de seus botões:

Não se esqueça de salvar a cena (menu File, opção Save) e o projeto (menu File, opção Save Project) antes de fechar o Unity.

Próximos passos

Iniciamos a construção de mais um elemento importante de nosso projeto: o menu inicial do game.

Embora, no estado atual de desenvolvimento, ele aparenta ser visualmente bem simples, nos próximos encontros daremos um “toque especial” à sua composição gráfica, por meio da exibição de imagens relacionadas ao consultório. Também daremos sequência, nos próximos encontros, ao processo de realização de ajustes, referentes às funcionalidades principais do jogo.

Nosso próximo encontro será no dia 29 de março. Até mais! Fique sempre ligado nas novidades do GameBlast!

Revisão: Johnnie Brian
Siga o Blast nas Redes Sociais
Rodrigo Garcia Pontes
Entendo videogames como sendo uma expressão de arte e lazer e, também, como uma impactante ferramenta de educação. No momento, doutorando em Sistemas da Informação pela EACH-USP, desenvolvendo jogos e sistemas desde 2020. Se quiser bater um papo comigo, nas redes sociais procure por @RodrigoGPontes.
Este texto não representa a opinião do GameBlast. Somos uma comunidade de gamers aberta às visões e experiências de cada autor. Você pode compartilhar este conteúdo creditando o autor e veículo original (BY-SA 4.0).