Skip to content Skip to sidebar Skip to footer

Widget HTML #1

Main Menu Masterclass - Unreal Engine 5.4

Main Menu Masterclass - Unreal Engine 5.4

Then this is the course for you. In this course you will learn;. Basic Menu Design. Saving Mouse and Keyboard And ...

Enroll Now

Unreal Engine 5.4 continues to push the boundaries of what is possible in real-time 3D creation, offering developers a robust set of tools for creating stunning and immersive experiences. One of the most crucial elements of any game or interactive application is the main menu. This is often the first interaction a player has with your game, and it sets the tone for the entire experience. Crafting a polished, intuitive, and visually appealing main menu is essential for engaging players from the start. In this masterclass, we will delve deep into the process of creating a main menu in Unreal Engine 5.4, covering everything from basic setup to advanced features.

Setting Up the Project

To begin, we need to create a new project. Open Unreal Engine 5.4 and select the "Games" template. Choose a suitable template for your game type; for this masterclass, we'll use the "Third Person" template. Name your project, select a location, and click "Create."

Once the project is open, it’s good practice to organize your files. Create folders for "UI," "Blueprints," "Widgets," and any other categories you think will help keep your project tidy.

Designing the Main Menu Layout

The main menu typically includes buttons for starting the game, options, credits, and quitting. We'll create a User Interface (UI) using the Widget Blueprint system. Go to the "UI" folder, right-click, and create a new Widget Blueprint. Name it "MainMenuWidget."

Double-click to open the "MainMenuWidget" in the UMG (Unreal Motion Graphics) editor. Here, you'll design your menu layout:

  1. Canvas Panel: Add a Canvas Panel as the root component. This panel will hold all other UI elements.
  2. Background Image: To make the menu visually appealing, add an Image component to serve as the background. Import a suitable background texture and assign it to the Image component.
  3. Buttons: Add Buttons for "Play," "Options," "Credits," and "Quit." Each button should have a Text component as a child to display its label.

Arrange these elements using the Canvas Panel's anchors and positions to ensure they are responsive to different screen sizes.

Adding Functionality to Buttons

With the layout in place, we need to add functionality to our buttons. Select the "Play" button, go to the "Events" section in the Details panel, and click the "+" icon next to "OnClicked." This will create an event graph for the button click.

For the "Play" button, we want it to load the game level. Use the "Open Level" node and input the name of your game level. For the "Options," "Credits," and "Quit" buttons, you can follow a similar process:

  • Options: Open a new widget or a different level where you have the options settings.
  • Credits: Open a widget displaying the credits.
  • Quit: Use the "Quit Game" node to exit the application.

Creating Sub-Menus

Sub-menus like Options and Credits can be created as additional Widget Blueprints. For instance, create an "OptionsMenuWidget" and a "CreditsMenuWidget." Design these sub-menus similarly to the main menu, adding necessary buttons and functionality. Ensure to include a "Back" button in each sub-menu to return to the main menu.

To switch between these menus, you can use the "Remove from Parent" node to hide the current widget and the "Create Widget" and "Add to Viewport" nodes to display the new one.

Animating the Main Menu

Adding animations to your main menu can greatly enhance the user experience. Unreal Engine 5.4’s UMG system allows you to create animations directly within the Widget Blueprint. Select the elements you want to animate, such as buttons or text, and create keyframes for their properties (e.g., position, opacity, scale).

For example, to animate a button appearing on the screen:

  1. Open the "Animations" panel and create a new animation.
  2. Select the button, then add keyframes for its position and opacity at different points in the timeline.
  3. Use the timeline to adjust these properties, creating a smooth transition effect.

Play the animation when the widget is added to the viewport by using the "Play Animation" node in the Event Graph.

Implementing Settings

The Options menu often includes settings like graphics quality, audio volume, and controls. To implement these settings:

  1. Graphics Settings: Use the "Scalability Settings" nodes to adjust graphical quality. You can provide options like Low, Medium, High, and Epic.
  2. Audio Settings: Adjust the audio volume using the "Set Sound Mix Class Override" node. Create sliders to control the master, music, and effects volume.
  3. Controls: Allow players to rebind keys by creating a widget for key bindings. Use input mapping contexts and save these preferences using the "Save Game" system.

Ensure these settings are saved and loaded correctly by using Save Game objects. Create a Save Game Blueprint to store player preferences and load them when the game starts.

Final Touches and Testing

With the main menu and sub-menus functional, it's time to polish your work:

  1. Visuals: Ensure all UI elements are properly aligned and look consistent across different resolutions. Use fonts, colors, and styles that match your game's aesthetic.
  2. Sound Effects: Add sound effects to button clicks and menu transitions to provide auditory feedback.
  3. Transitions: Ensure smooth transitions between different menus. Use fade effects or other animations to enhance the user experience.

Test the main menu thoroughly. Ensure that all buttons work as expected, settings are saved and loaded correctly, and the menu is responsive on different screen sizes and resolutions.

Packaging the Project

Once you’re satisfied with the main menu, it’s time to package your project. Go to "File" > "Package Project" and select your target platform. Configure the packaging settings to ensure that all necessary files are included.


Creating a main menu in Unreal Engine 5.4 involves a combination of UI design, blueprint scripting, and animation. By following this masterclass, you’ve learned how to set up a project, design a responsive main menu, add button functionality, create sub-menus, implement settings, and add final touches for a polished experience.

A well-crafted main menu not only enhances the user experience but also sets the tone for your game. With the powerful tools available in Unreal Engine 5.4, you can create menus that are not only functional but also visually appealing and engaging, ensuring players have a great first impression of your game. Happy developing!