3. Creating a Main Menu


First bit of business is to create the layout of our Main Menu which we will do below.

  1. Open your MainMenu Widget Blueprint.

  2. On the Designer tab, drag and drop widgets from the Palette onto the Hierarchy to achieve the setup below.

    Hierarchy1.png

    For reference we have an Image, a Vertical Box with Text and 3 Buttons that have Text on our Canvas Panel.

  3. Select the Vertical Box in the Hierarchy then Right-click and Copy it.

  4. Right-click on the Canvas Panel and select Paste to paste a second copy of the Vertical Box.

    Hierarchy2.png

  5. In the new Vertical Box, Right-click copy a Button and paste it to create a fourth Button/Text widget.

    Hierarchy3.png

  6. Select the first Vertical Box and in the Details panel, rename it to MainMenu, check the isVariable option and set ZOrder to 1.

    Hierarchy4.png

    We are naming the widget for clarity and setting it to a variable so that we can access it as well as setting the ZOrder so that it appears on top of our image which we will set in a moment.

  7. Select the other Vertical Box and in the Details panel, rename it to Options, check the isVariable option and set ZOrder to 1.

  8. Rename each of the Buttons as shown in the image below.

    Hierarchy5.png

    By updating the names of our buttons so that we know what each one does, this will make it easier to script functionality for them.

  9. Update each of the Text widgets as shown below via the Text section under Content in the Details panel.

    Hierarchy6.png

    Here we are updating the text that is displayed on each of the buttons as well as the menu headers.

  10. Holding Ctrl select each of the Buttons then in the Details panel set a Tint color for Hovered and set each to Fill for Size.

    Hierarchy7.png

    Here we are adjusting the size of all of our buttons as well as defining a color for the button to take when mousing over it.

  11. Select the Image in the Hierarchy then in the Details under Appearance and Brush, select a Texture, Sprite, or Material to use.

    Hierarchy8.png

    If you want to use the same one as this guide, you can download it from here: Example Background

    Drag-and-drop the Example Background into Unreal Engine to import it (click Yes at any confirmation messages).

  12. In the Designer window, resize the image so that it takes up the entire layout.

    Hierarchy9.png

  13. In the Details panel for the Image, click the Anchor button and choose the fill screen option. You can also use a Scalebox to hold the image, which will ensure that the image scales and resizes appropriately to match the aspect ratio.

    Hierarchy10.png

  14. Select both Vertical Boxes and Anchor them to the left-center position.

    Hierarchy11.png

  15. Select the Options Vertical Box and set its Visibility setting to Hidden.

    Hierarchy12.png

    We do not want options to be shown by default, we will tell it to be visible through script.

  16. Select the MainMenu Vertical Box and resize and position it as desired in the Designer window.

    Hierarchy13.png

  17. You can adjust the Font, Size and Alignment from the Details panel of each Text widget.

    Hierarchy14.png

    You can experiment with these settings to get your desired effect.

  18. Setup your Options Vertical Box as desired then move it directly behind your Main Menu Vertical Box.

    Hierarchy15.png

    Since only one of these will be visible at a time, it is okay that they overlap one another.

With the visual layout of our menu complete, in the next step we will script the menu's functionality.