Quality Game Settings Menu, a good looking UI ready for use

Hi, I checked that the asset was fine to update from 4.15 to 4.16 before marking it as 4.16 compatible.
I will take a closer look at it tomorrow and see if I can find any issues with the update.
To figure it out, I’d like more details on where the crash occurs.
What engine version is it?
Are you using the latest release of settings menu 1.6.1?
Does the crash occur in a stand alone marketplace project of settings menu or does it crash as part of a project you are working on?
Is it any error message at all from the crash, or does the editor shut down with no reason given?

OK, solved the problem. Forgot to connect “Self” to “Game Settings interface”.

I think you should warn the user here instead of crashing the editor without warning.

Thanks for telling me, I will check it out and see if I can add a protection against a crash, and/or submit a bug report to epic, since blueprints alone should not be able to hard crash editor.

So, I seem to get a Runtime Error when trying to test play the Options Menu. In the BP_ActionManager Blueprint, it says it can’t read the property of Open Menu. More importantly, this state: Screenshot - 0745ff54649252336413c5781daf4b44 - Gyazo

The “Open Menu” variable is initialized with “Get Key Action” in BP_ActionManager


The “Input Action Name” “OpenMenu” should be a part of DT_InputActionList, please check that you have not removed or renamed this datatable row by accident.

Just to let people know I’m using this in VR with motion controllers and it works great.

a8cb143dc9c7fa205ae91ca0a8747a3c025b781c.jpeg

Just attach a 3d widget to one of the controllers and use the widget interaction Creating 3D Widget Interaction | Unreal Engine Documentation

e48306d2108f8a7f25544d04a7bc17f8af53efb0.jpeg

Any update on this? :slight_smile: Planning on taking a crack at it myself next week.

I can give you a current status.
System works by adding wrappers around umg components that expand functionality.


What is currently working***
Buttons
Checkboxes
Widget Switcher

Works, but does have some quirks.
Scrollbox
Combobox
Sliders

Not for initial release
Edit text fields. (Since they need a custom keyboard)

Containers can be connected to each others, and when jumping from item to item, it finds the closest ones when navigating, that works in most normal cases.

System is a part of a generic Interface, so in the future it can be extended to 3d meshes, (in theory) by adding interface to actors.
This allows more advanced interfaces, but that is for the future. (Laying groundwork for this is feature creep right now)

When pressing and holding a direction key, it starts moving in the direction.

System works in a hierarchy, so it can bobble up commands.
Currently only the “Enter” command is set up, but more groundwork is made for other commands like cancel, back, long press, copy/cut/paste. (This is for later release)

***What needs to be done
***Tab support that properly bobbles up command prev/next so tabs can be switched with bumpers on gamepad or similar.

Add protections against endless loops, and try to find edge cases.

Connect keybinding system with navigation system to replace keys there.

Making the focus box look better. (The widget that moves around)

Make demo blueprints to test and showcase assets.

Update the demo room

Go over every blueprint, clean up, add documentation.

Write a large documentation, and video tutorials.

And other things that I find necessary for initial release.

***Other things
***I am working on UE 4.15 right now, but 4.16 finally has UMG Preconstruct. Using this, I can further simplify the navigation system and menu into components.
So instead of the current annoyance where you have to update the font and design on every item, you drag a common button from umg palette. You only need to modify one button to change all of them.
The components will show up in UMG designer and it will include the wrapper for menu navigation. This avoid a ton of repetitive work and removes UMG hierarchy clutter in designer.
I am very tempted to jump to 4.16 and implement this. I don’t know if its worth keeping it at 4.15.

The layout of settings menu was made with mouse in mind for initial release. I am not going to change the menu design of this theme now, but it is a bit clunky having the tabs on left side and navigate with gamepad.

Hello! Tnx for nice asset!
Have anyone tried to make it work with
Seems this asset allready has most things required to handle such feature. I would gladly replace Key combinations with input buffer… having both would be even more amazing :frowning:

Hi , thank you for awesome menu and game settings setup you working on, it is a big time savior, especially if someone work on game solo. Everything works like a charm, but I run into something I do not know how to achieve. It is probably easy one.

I am working on point and click adventure game, and I have camera inside my BP_camera where are all mechanics for controlling behavior of cameras distributed in a level. I distribute couple of instances BP_Cameras in levels and based on players location they are switching. How can I inherit my Camera inside BP_camera with your camera post process system to be able to control fov, gamma, bloom, brightness… from menu settings?

Thank you for your time!

Hello! Tnx for nice asset!
Have anyone tried to make it work with
Seems this asset allready has most things required to handle such feature. I would gladly replace Key combinations with input buffer… having both would be even more amazing :frowning:
[/QUOTE]

Hi, I took a quick look at input buffer plugin, to try and understand it better.

I followed the buffered input tutorial and made the simple “Left Punch”/“Right Punch” respond to event from settings menu Action Manager.
I did it by getting current input buffer history, and add a new history record whenever action manager received an input for left or right punch.

I don’t fully know how Input Buffer addon works, so I think you will meet some odd bugs if you try to use more advanced features on Input Buffer.
I notice that things like “Max Input History” limit don’t work since events are manually added to History Record. I am also unsure how inputbuffer Start and End time works inside inputbuffer.
I have not tested out input bufferso I can’t tell how that will respond to directly modifying history record.

Here is a image of node modification I made inside player controller that is different from the


The settings menu keybinding is not a part of the default UE input system, since it is a blueprint only project.
Modifying input buffer history records might work without too many issues, but if you have a lot of combo sequences, plan B might be to disable settings menu keybinding, and only use buffered input keybinding.
If you don’t have too many complex combo systems, you could make your own simple buffered input where you read events from Action Manager and add them in an array. (Use “Get 0” and “Remove Index 0” to pop first item out of array)

Hi , thank you for awesome menu and game settings setup you working on, it is a big time savior, especially if someone work on game solo. Everything works like a charm, but I run into something I do not know how to achieve. It is probably easy one.

I am working on point and click adventure game, and I have camera inside my BP_camera where are all mechanics for controlling behavior of cameras distributed in a level. I distribute couple of instances BP_Cameras in levels and based on players location they are switching. How can I inherit my Camera inside BP_camera with your camera post process system to be able to control fov, gamma, bloom, brightness… from menu settings?

Thank you for your time!
[/QUOTE]

Hi, the “Fov, Bloom, Gamma, Brightness” is affecting camera through a camera modifier on the player controller.
When active camera is replaced with “Set View Target With Blend”, the camera modifier and its setting effects are still applied on the new camera.


You can look at “BP_CameraModifier” to see more details on how it works. You can also modify nodes there you want more control over it. (Example flash grenade, or dark areas.)


You might want to disable fov in settings menu for a point and click adventure, so you have more control over what is in players viewport.

You can also read values from “Game Settings” object yourself, with “Get Gamma/Gain/Bloom/Field of View” and take it from there inside your BP_Camera blueprint.

Thank you for your quick reply, just minute ago I figured that I had game paused in a menu, so the change was just not updating real time and I never tried to apply the settings :smiley: :confused: my bad…so yep everything works!

Thank you also for the advice putting the settings for camera to my BP_Camera, definitely gonna do that.

And ones again Awesome Settings Menu!!!

Thank you very much for your quick and detailed response!!! I wont have much combo sequences, so ill stick to plan A :smiley: Tnx alot for asset and nice support. 5 stars from me :smiley: Tnx!

I have a question, how to use key events from this BP in others BPs? For example I made mini game inside another BP and want to change active controller to that BP. Should I create another copy of component in each BP script fot this?

You can have action manager components in multiple blueprints, but for performance reasons, it is highly recommended that you only have one enabled at a time.
Take care that you properly disable tick on non active action managers.


As an alternative, you can get action manager from current active player controller and assign events to it to receive key presses. Then you only need one action manager for several BP.

I have a simple question, sorry if this has already been answered. How do I bring the menu up manually? For example if I click a button on another widget to bring up the options menu.

Thank you very much! I made it but I was not sure about multiple actions.

In the project folder QualityMenu/HUD_UMG_Classic/BarebonesMainMenu you can find example assets to implement settings button and implement settings into your own umg menu.


In this example:
Map loads up game mode “BP_GameModeWithMainMenu” as set in its world settings.
Game mode loads the player controller “BP_BareBonesMainMenuPC”.
Player controller creates the main menu widget WB_BarebonesMainMenu and provides its action manager component.


The settings menu is sparerate into sub widgets that are transparent so you can add them to your own menu setups.
You can find them in UMG designer Palette under “User Created”
WB_ClassicSettingsAudio
WB_ClassicSettingsVideo
WB_ClassicSettingsGame
WB_ClassicSettingsCamera
WB_ClassicSettingsKeybinding


WB_ClassicSettingsKeybinding needs a player controller “Action Manager” component to work.
Check out the Barebones Example assets as a reference.

I have also seen developers have a button call Open/Close on the default settings menu. This should work fine too as long as WB_ClassicSettingsMain has been provided an action manager.

Hi, to get more actions, you can bind multiple events from action manger.
Drag a node from action manager and search “Assign”. Then both the “Bind” node, and a custom event with correct outputs will be generated.
You can rename the custom events by selecting the red node and press F2 on your keyboard.