Skip to main content

Unreal Engine DevLog #15: Prototype UMG Menu [Free Source Code]

Hi, welcome back for another update. I've been working on a prototype menu system for my game using Unreal Motion Graphics (UMG). My aim was to create a basic menu interface with the following features:

1) Main Menu
2) Options Menu

3) Video Options Menu
4) Loading Screen
5) Game Screen
6) In-Game Menu

As I said, this is a prototype menu system. My main intention was to get an idea of how to put together a menu system using UMG. And to that end, I found this tutorial series very helpful for understanding UMG and it's features:


Youtube: Horus Heretic's UMG tutorials


Once I had a basic menu system, Zoombapup's Menu Flow tutorials helped a lot in creating a standardized workflow:


Youtube: Zoombapup's Menu Flow Tutorials


So moving on to the updates, I'll briefly explain the main features that I've implemented:


Main Menu




Well the main menu includes the following working functionalities at the moment:


1) New Game Button 

2) An options menu
3) Exit to Desktop button

I'm using the loading screen from Epic's Shooter template as the background.


Options Menu




The options menu has the following functionalities:

1) Video Options Button

2) Back to Main Menu Button

Video Options Menu




The video options allow the player to edit the video settings. At the moment it only supports 4 hard coded 16:9 resolutions, but all the other settings work fine. And then there is a 'Back to Options Menu' button as well.

Loading Screen


The loading screen includes a static progress bar and a throbber.

Game Screen


The game screen is the basic screen that you see when you play the game. Nothing fancy here at the moment, but I intend to move my Command UI from the HUD Blueprint into this widget. 


In-Game Menu




The In-Game menu includes the following working functionalities:

1) Resume Game Button
2) Return to Main Menu Button
3) Exit to Desktop Button

Well that sums up all the features in my menu system. For now I'm going to stick with this. Once I'm almost done with the core gameplay code, I'll get back to working on the menu. Here's a video demonstrating the menu system in it's current form:


With that we come to the end of this update. Feel free to check out my YouTube channel at: https://www.youtube.com/user/Stormrage256/videos

And one last thing. I was planning to release some free example project when the blog crossed the 10000 views mark about a month ago. However I got caught up with work back then. So now that I have a menu interface, I thought I might as well release the source code as part of the celebration. Better late than never. So here it is:

https://github.com/Stormrage256/UMGMenuSystem