[Blueprints] Prototype Menu System

Thanks TechLord. It’s nice to see that people are finding this useful. I’ve started working on it again after quite some time. So hopefully there should be some new improvements coming up this weekend.

Does the game settings save to a config file or does it use the alternative by saving as a .sav file?

At the moment, it does not save to any file. It’s only persistent across the running instance of the game. There is still a bug associated with it, but it’ll be fixed in this weekend’s release.

I have not tried saving since I haven’t started implementing a save system in my game. But if you have any tips regarding how and where to save, I can try adding it for the menu system in one of the subsequent releases.

Whoa that’s awesome. +1

This is awesome thanks for making this for free.

Thank you!

Update 1 for Prototype UMG Menu system released:


Listed below are the main changes:

  1. Added support for manual default visual settings.
  2. Fixed a bug with scroll bar not collapsing when interacting with other buttons.
  3. Visual settings now shown as literal text instead of numerical values in the default version.
  4. Improved the code for maintaining persistent visual settings throughout the active instance of the game.
  5. Fixed the disappearing loading screen bug in standalone and packaged versions.

For more details and documentation of changes in the update, check out my blog post for the same:

Unreal Engine DevLog #16: Prototype UMG Menu Update I

I’ve listed all the changes there with detailed screenshots

Update 2 for Prototype UMG Menu system released:


Changes in this update:

  1. Fixed a bug that disabled removing pause menu through keyboard input.
  2. Code and design optimizations for Scrollbar buttons in the video settings.
  3. Supported resolutions now taken from the game instance class along with other default settings whenever needed. [Note: Using Rama’s Victory plugin, you can get all supported resolutions and store it here if you don’t want to use hard-coded default resolutions. I have tested it and it works smoothly]

For more details and documentation of changes in the update, check out my blog post for the same:

Unreal Engine DevLog #17: Prototype UMG Menu Update 2

Thanks for sharing this. Very high quality framework that is pretty similar to what we see in AAA game menus!

Thanks @Snow901, I will be adding more features into it in the coming weeks.

Update 3 for Prototype UMG Menu system:

Changes in this update:

  1. General Optimizations for Pause Menu and Video Settings workflow
  2. Bug Fix for loading screen freeze
  3. Bug Fix for Video Options scrollbars populating duplicated child widgets

Documentation for changes in the update: Unreal Engine DevLog #18: Prototype UMG Menu Update 3

Source code available at: https://github.com/Stormrage256/UMGMenuSystem

Update 4/5 for Prototype UMG Menu system:

This is the final major update to the system. Changes include:

  1. Now supports persistent video settings across multiple instances bu backing up the data through save files.
  2. Fixed a bug that prevented scroll bars from closing when moving to other menus.

Documentation of changes included as part of updates 4 and 5: http://unrealpossibilities.blogspot.in/2015/07/unreal-engine-devlog-20-prototype-umg.html

Source code available at: https://github.com/Stormrage256/UMGMenuSystem

Edit: Update 5 available on Github now. Fixed a bug that prevented certain features from working when adding to a new project.

Thank you for sharing this Stormrage256 . Really nice work. I will try it!

Is it possible you may add a save system with this project? If you accept donations or commissions I would gladly leave it up to you to release it.

Trying to implement this into my own project, I put the ingameactor BP in my level and try to press P, but the in-game menu never comes up?

The game instance class is set in project settings.

Sorry to double post, but is the menu for the graphic options also working for anyone? It seems that clicking does not change my screen resolution and the like. I have migrated this project using 4.7.6

By save system, are you referring to saving the graphics settings or saving game data during actual gameplay? If it’s the first case, I have added a save system to restore the saved settings every time you load the project.

A small part of the pause menu logic is within the player controller blueprint. You call the pause menu widgets from here. Have you copied that code to your project?

Could you check if you’re able to change the settings in the native project before adding it to your own?

Oh and btw the source is currently built in the 4.7.6 version. I have only tested it in 4.8.2 a couple of times, but it seems to be working for now. Once I integrate the latest updates into my own projects, I can give a better confirmation regarding it’s compatibility with v4.8.2.

Thanks for the fast reply, sorry for the confusion, I meant a save system that would automatically save the last level you played so you could load that level the next time you pick up the game.

I got the pause menu working after copying and pasting the controller nodes into my own controller.

The video options work in your source file, but after migrating to my project the buttons don’t seem to register after clicking. Trying to debug it but not successful so far.

Oh you mean like a continue option right? I’ll check it out sometime this week and let you know if I can include it in an update soon.

Glad to hear that you got the pause menu working. As for the video options, I just found out that I haven’t added the ‘Main Menu Game Mode’ in the latest update. This probably causes the settings buttons to not work when adding to another project. Thanks for pointing that out. I’ll commit the changes to the git hub version in a few minutes. Basically what you need to do is to set a new game mode for the Main menu map [Main Menu Game mode in the upcoming update]. Then make sure that the HUD class for the same is the ‘My HUD’ blueprint. Do the same the in the project settings >> maps and modes as well. Here’s a screenshot:


Edit: New commit made to Git Hub. You can check it out for comparison. If the video options issue still persists after including this change, do let me know.

That fixed it! Thanks a ton and please let me know if you ever get a donate button up, I would like to commission that save system

Cool! If you have any doubts regarding the workflow, feel free to check out my blog for the update descriptions. The documentation is not well detailed, but it contains brief descriptions and screenshots of changes made in each update. As for the save system, I’ll do some R&D first. If it’s not too hard, then it might be ready by next weekend.