Sunday, March 15, 2015

Unreal Engine Experiments: Prototype Menu System

[Note: Read about the v2.0 edition of Prototype Menu System here:]

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:

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: