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

Alrighty, so I’m stumped. I’m attempting to see how can I stop a player from jumping twice?
I don’t see how to implement a “stop jumping” with the menu set so far.

Hi, if you want to use “Stop Jumping” on a character actor, you can create a new event “JumpReleased” in BP_ActionManager


Then call that event dispatcher when jump “Was Released” in Action State. Compile and save BP_ActionManager.


Inside your player controller with action manager component, add the new event JumpReleased and connect it to “Stop Jumping” on your controlled character pawn.


By default, “Stop Jumping” does not change anything, since character actor has “JumpMaxCount” set at 1, and “JumpMaxHoldTime” set to 0.
You need to update these variables on your character actor if you want stop jumping to have something to interact with.


But I am surprised you have trouble with the character accidentally jumping twice. Does it double jump in air, or does it jump a second time after it hits the ground?
By default, the menu only fire one event when player press jump key.

Did you forget to remove the old input system? Make sure only one input system is connected so you dont trigger nodes twice.


You can also check if the problem is in the settings keybinding by temporary connecting “Space Bar” pressed instead of “JumpPressed (ActionManager)”

You can also trigger double press on jump event if you accidentally tick action manager twice every frame update.

If this does not solve your problems, please post some pictures of your nodes, or send an email to [EMAIL=“”]

I am having a weird problem right now where I get the menu to pop up and it seems to work fairly well, but its apparently underneath my other UMG widgets like the player hud and such. How do I make sure the options menu always appears on top of all other widgets?

Oh thanks, though I ended up figuring everything out a different way. I hide the hud while in the options menu. So far I nearly have everything I need working right now!

This was EASILY the best market place purchase I have had hands down. :smiley:

Hello, Your product is very awesome! however i facing weird issues
I’m working on my game quited a while I never bother about playercontroller since i bought your product and using it
problem is when i open menu while in game I can’t click on any option the mouse is showing but can’t do anything! hope you can help me how to fix this!
Thank you!!!

Hi, this can happen when you have more then one widget at a time. Another widget might overlap the menu, even a small life bar hud can stop menu interaction if it was added to player viewport after settings menu.

To solve this, you set the ZOrder when you add widgets to player viewport. Make sure the settings menu has a higher ZOrder number then your other widgets.

WOW THANKS MATE! THAT’S FIX IT FOR ME!
and one more question, if you don’t mind! Is there a way to limit FOV option not to below than 90 and add higher graphic quality “cinematic” to the QGS just like cinematic on Editor settings?
Thanks

To limit fov so it does not go below 90, you first redefine the slider range so you map 0-1 to 90-120.
(See blueprint WB_ClassicSettingsVideo -> Event Graph)

Then, when slider is updated, scale needs to be remapped from fov to 0-1
(See blueprint WB_ClassicSettingsVideo -> Refresh Field Of View)

User can still override this if FOV is manually typed in text box.
If you don’t want user to be able to type in extreme fov values, you have to update clamp range in BP_GameSettings -> Set Field Of View

The unreal engine Cinematic mode is not designed for real time gameplay. It is for offline rendering.
The quality values ranges from 0 - Low, 1 - Mid, 2 - High, 3 - Epic, 4 - Cinematic.
When I made the settings menu, cinematic mode did not exist, so the values are currently locked from 0-3.
Going over the functions and allowing values up to 4 should work, and I can add that in a future update so it is more accessible if a developer wants it.
Cinematic mode is not optimized for gaming, so you should avoid it by default.

@ Thanks a lot mate!!! You are amazing supporter

Has anyone seen an issue like this before?
When clicking on the resolution options in the drop down the resolution is not changing. It does change when I edit the two text fields. The colour change for the on click event is happening to the drop-down box item.

The breakpoints here and in the collapsed bp is not getting triggered so I believe the selection is not changing but don’t know why

Any help is appreciated.

Is collapsed node “Option Is Resolution” returning false? It returns false if “Selected Item” is not a string “WidthxHeight”. Comboboxes in unreal is a bit tricky, so this is the workaround here.

I also see a stipled line around your selected item, this is a part of unreals UMG focus system, but it does not work well in more complex menu setups.
If you activated it by accident, it might be causing the issue?


Go to WB_ClassicSettingsVideo and in UMG designer, select “ComboBoxResolutuions” widget and disable “Is Focusable”


For good measure, Disable “Is Focusable” on the button inside the combobox list too.
In folder Quality Menu -> HUD_UMG_Classic -> UtilWidgets open WB_ClassicResolutionCombobox


This button inside combobox list does not do anything, it is only to visually look like an item inside combobox is pressed.
This might be the source of your problems, since a button usually would steal the click event from the combobox list.


In the settings menu, I set the button click and touch method to “Precise Click” and “Precise Tap”. Anything else, and it does not work.
This allows the button to visually look like it is pressed, but it does not steal the pressed event from combobox list underneath it that makes the actual list selection.
Why does this work? I dont know, but I have used that technique since 4.7.
I have not tested out 4.17 preview yet, I know they changed UMG clipping. I will check if this broke the button/combobox interaction.

Thanks for the fast help! Yes, this was the issue. Changing is focusable did nothing but when I disabled the WB_ClassicResolutionCombobox button it stopped stealing the click.

This issue was in 4.15.3 FYI
Cheers!

Great that we found the issue. I have not had a problem with it before, but I see you have made some customization, so something might trip it.
If you find out what triggers it, I’d love to know, or if you are so kind to send me a sample of your project so I can look into it myself, that would be helpful too.

Hi,
Just bought this. Looks like an amazing time saver and I’ll start to implement it now.

I wanted to ask if navigation using game pad is on the to do list, if not, do you have any pointers on how to do it?

Thanks,

Gamepad navigation is on the todo list, It’s been holding back the next update I am working on since it is a really difficult problem to make a flexible gamepad navigation in a complex UMG enviroment.

Hi! How can I get button name to make hints like “Press L-trigger to crouch” or “Press C to crouch” which depends on active type of controller (keyboard/gamepad) if it is not possible how to get buttons’ name (“L-trigger”, “C”]) by action name “crouch”. P.S. Thanks for the great tool!

Hi, you can use Get Key Combination to get the mapping made in DT_InputActionList, then use “Get Key Combination Display Name” to output display name, example “Ctrl + W”.


If you want both primary and secondary key combination, you have to use “Get Key Combination” twice, where one has “Get Secondary Combination” enabled.

In the demo room, you have an example blueprint “BP_DisplayMapping” that is updated live whenever a key is remapped.


You also have BP_DisplayMultipleMappings if you need to build a complex sentence with multiple keybindings.

Hey,

quick question, is there a way to get the actual key for a action? For example I need to set something to happen while a key is held down, so need the actual key input for one of the mapped controls

Gamepad navigation will be really useful, to an already useful pack, looking forward to it:cool:

Hi, I’m a bit confused what you ask for, as I just answered a similar question for another user in the previous post above yours.
You can find what key is currently mapped to an action with “Get Key Combination”

If you need the UE “Key Input”, you can directly read the Key Inputs that make up the Key Combination. (A input event can be defined as more then one key, example “Ctrl+W”)


As an example:
A key action (MoveForward) is the combined value of multiple mappings, (Forward, Backward)
Each mapping has a Primary and Secondary Combination.
Each combination can be made up of multiple key inputs. (Example “Ctrl+W”)

Due to this system, it is not easy to access what current key inputs are activating an Action.
It is possible to expand it to support this, but I did not plan for this use case.

If you really want to access it as a part of the action event, here is an example setup in BP_ActionManager where we search for active keys when player pressed jump. It’s a doozy, but should work in a pinch if you only need it for one action.

[spoiler]


[/spoiler]Then you can access a list of active keys when jump is pressed.


(The blue NOTE message under event is a clarification that you can’t modify array and use it as return values it in an event dispatchers, but we dont have need for that functionality in this case)