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

Despite the issue I’m having right now, I had no real trouble implementing these Option Menu in my pre-existing game.

Hello!
One more thing - I want to have some predefined input keys which user cannot change (some for keyboard and all of gamepad keys). Where’s the place I can set them up so they’ll pass through whole system as well as rebindable keys?

Hey ,
The Quality Game Settings are great but I have 2 problems:

  • Sometimes the controls (input action keys) duplicate, so the same controls show beneath. This seems to happen randomly, both in the editor and in build.

  • How can I localize the name of the controls?

Thanks,

Hey I know this was some time ago for you but i’ve been trying to get it to nativize in 4.18 myself. I followed your method and my game built and loaded up but the keybind system fails to work, I don’t suppose you remember if you definitely got it working with the keybinds?

I bought this plugin a while ago (For UE 4.16) and after updating to 4.19 video combo boxes are no longer working properly. As I’ve customised its files (added more controls and stuff) I don’t want to overwrite everything with the newest version. How do I fix this? I just want to get combo boxes working again.

Hi, I am very sorry to you all that I have been unable to provide proper support for this asset lately. I will be busy in the time forward, so be aware assistance can be delayed.

I had reports that this was an issue loading .ini file settings in the initial release of 4.19, but the later patches seems to have fixed this, I cannot replicate this problem for now.

The menu dont support hidden key actions by default, but it should not be to hard to implement.

Open up “SKeyAction” in QualityMeny/Blueprints/Util/Keybinding

Add a new field “Hidden”.

https://i.imgur.com/hj1puJK.png

Then, open function “Init Key Mapping” in BP_KeyMapping and add a new variable “Hidden” to store value from SKeyAction.

https://i.imgur.com/ZyqLB8a.png

In WB_ClassicSettingsKeybinding -> Init Key Settings, add a branch so mapping will not be visible in menu.

https://i.imgur.com/ppJrEG8.png

Make sure you now save and compile all files that was affected by this modification.

Finally, in DT_InputActionList, you can enable “Hidden” to hide a mapping from menu. The actions are still available as normal in blueprint.

Alternative, you can just use the normal input system in engine for those mappings if you don’t need to do anything special with them.

This has happened before when you remove and re-add blueprints using “Remove All Widgets” or similar. The menu works best when you collapse it to hide it, instead of removing and re-creating it.

See WB_ClassicSettingsMain for an example on this.

https://i.imgur.com/Eqk06a9.png

The localization support in quality menu is not as good as it could be. The current system uses the provided “Get Key Display Name” from unreal key inputs, and cleans it up in different places.

See BP_KeyInput -> “Generate Display Name” where it first generates a default keyname when keys are initialized. Check inside the collapsed nodes too since it does some special names for mouse and analog directions.

https://i.imgur.com/p0Kp4HB.png

Then, inside BP_KeyCombination -> “Get Key Combination Display Name” it does some further text modification to shorten some unnecessary long keybindings. Take a look inside the collapsed nodes “Generate Short Unicode” and “Generate Short Ascii” to get the idea.

https://i.imgur.com/3XWbqn5.png

I am sorry that I cannot provide more help with nativization. I wish I could, but it’s too finicky and does not provide good error messages to debug with. It can also change issues between engine versions.

I think I have already e-mailed you a response, but in case that was not you, I will repeat what I sent to him. Comboboxes broke back in 4.17 update, I posted a migration guide on forum that should help you get up to 4.19

https://forums.unrealengine.com/unre…15#post1040415

The quick fix is to download a new special button that works around the issue. Read the forum post for more details.

https://drive.google.com/open?id=0B6…3JGTkJFWVgzeFU

It worked for 4.17, and it “should” work for 4.19

Hey @ , I have the Quality Menu asset and it is great but I am having some issues with a second player, basically the Trigger Releases don’t register on the second control pad, only the first. Literally everything else works fine, just the triggers. If I add in Gamepad Right Trigger/Left Trigger, these are registering the input from the second pad but the built in inputs in the BP_ActionManager do not do anything. In fact, in the second Player BP they only fire when Player One releases them. Any ideas what the problem might be here?

Thanks!

This is unfortunate a design flaw in the keybinding system, it don’t support axis value inputs across two local multiplayer’s. The documentation specifies that it don’t support local multiplayer, only online multiplayer due to this. I wanted to fix this, but I tried to add too many features in the new update, and ended up not having the time to finalize it.

Ah ok, that would explain it then. Any rough ETA on a fix?

Hello;
Here is my problem.
The packed game doesn’t crate “GameSaveSettings.sav” upon first running at the location of "C:\Users\UserName\AppData\Local\MyGame\Saved\SaveGames\SettingsSaveFile.sav"

It does create the “GameSaveSettings.sav” only after I launch the game and press “apply” in the menu. I want to be able to launch the game with default settings that I adjust with BPGameSettings, but I can’t.
For instance, in my combobox I use “language options”, since the settings are not applied, the game doesn’t display any language options upon first launch of the game. I have to manually apply settings only after I launch the game.
Any ideas?
I tried the suggestion in the manual 8.1, since settings are not applied on game start but nothing changed.
Everything is working in the editor, but not in packed game.

Isn’t this project supported anymore?

I have one more question : Isn’t there no way to add game-pad support to buttons and sliders using the function “keyboard focus”?

Hi, I am a bit unsure why your language option is having trouble, but I can explain the start process of the menu.

  • Game starts the first time

  • It calls “Init Game Settings” from game instance

  • It looks for an existing GameSaveSettings.sav, but not finding it since its the first start time.

  • Then a new BP_GameSettings blueprint be created instead, and use its default values.

  • BP_GameSettings then overwrite some of its video settings from standard UE GameUserSettings.ini in function “Load ini Settings”.

  • (You can disable this by disconnecting nodes in “Load ini Settings”

  • Then the PlayerController creates the menu widget

  • The menu widget applies all settings in BP_GameSettings so it works at game start.

  • (Settings are not applied as a part of “Init Game Settings”, since it did not properly work in game instance. (I have not checked if it works in later UE releases))

  • An initial GameSaveSettings.sav will not be created until user press apply in settings menu

  • (This is to make it easier to test default values during development)

So in short, if you only want to use all default settings in BP_GameSettings during first start and create a .sav file. then disconnect “Load ini Settings” in BP_GameSettings, and save settings during right after they are initialized.

https://i.imgur.com/348sCOj.png

I do not know your blueprints on language combobox, but if you store the language selection as a part of BP_GameSettings (see part 5.1 of manual), you should be able to load selected language from the game settings object during your widget “Event Construct”.

The engine system for keyboard focus was not good enough, I tried to solve it with my own flexible system for gamepad menu navigation, but it got too complex in blueprint and I hit upon weird engine issues .

I unfortunately can only provide customer support when I have time. A full time job does that to you. I had a large update I wanted to finish last year, but I could never get around the engine issues. If i have to update, I need to rewrite the system for a third/fourth time, and hope I can finally get it right. I want to recreate and finish it, (Since there are a lot of good stuff in it) but I don’t have the time for it.

Hi .
How can i change the time that system waits a key to be pressed for remapping? thanks

In the manual, you mention that it doesn’t compile on Nativized Assets. It seems there are a couple of variables that the log says are private and are throwing an error. The one that is halting the compiler is PreviousSettingState. If you unset the Private flag it should compile, although I don’t know why.

Update ? :slight_smile:

Hi, I’m getting a warning that I’m pretty sure is being caused by this plugin. When I run my game, “GetKeyValue cannot return a meaningful result for AnyKey” gets printed to the dev console (or error log, in packaged versions) every tick. I’ve already tried searching blueprints that use GetKeyValue, with no luck. Any advice?

What do I have to change to work in 4.21?

It’s pretty simple actually. Go to Qualitymenu\HUD_UMG_Classic\UtilWidgets
Then open “WB_Classic_Keybinding_categoryItem”.
Rename the textbox “Category Name” to literally anything else. In my case I called it “Category Name 1”. Then it should compile just fine. That was the only major issue I had with 4.21. It’s still working just fine on 4.22 as well.

Hoping for an update for 4.23! Pretty please, from a forum “Infiltrator”?

Any plans to update this beyond 4.19?