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

Two problems:

  1. the “Apply” button does not seem to do anything. I click it after I change some sound setting but nothing seems to happen.
  2. I have a 1920*1080 monitor, when I select that resulution and “fullscreen” UE switches into something like 1200 mode and the monitor gives me a warning that the resolution is not the original monitor resolution. When I use the windowed fullscreen mode it all works right.

Other than those two problems, great product and the manual is also good.

1: The apply button is only really relevant to resolution and screen mode, the others settings are applied live. If you have set up the correct sound channels (See manual part 3.10 or part 4), you should hear the volume change when dragging the slider.

2: Fullscreen option does not work well inside editor. Package the game or run it as standalone if you want to test out fullscreen.

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

Hi, I’ve been using your menu for PLANET ALPHA and it’s a huge time saver!
One thing I can’t figure it out (and couldn’t find it in the documentation either) is how to customize the look of the key binding menu. It says that it is generated at runtime so I can’t customize it in the editor as I do with the quality settings for example.

Thanks,

Glad you find it useful.
In WB_ClassicSettingsKeybinding you can find function “Init Key Settings” that reads the keybinding list and builds the menu using WB_ClassicKeybindingCategoryItem and WB_ClassicMapping item.
You can find and modify them under QualityMenu/HUD_UMG_Classic/UtilWidgets

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

Has anyone implemented this in a C+±based game? We are struggling to get it all working from C++ since it is blueprint only and we could use a example…

Wow! That’s amazing! thank you!!!

Hey there, using the key-binding system I’m having a lot of trouble with performance and I’m trying packaging with nativization in 4.17 but with little success (I’m trying with the demo project for simplicity). The documentation mentions that you’ve managed to nativize the system?

I got it to compile with nativization, but when I launch it I get an error saying “Error: Quality Menu: Unable to Get Game Settings Interface from Game Instance.” and “GameSettingsSave.sav save file not found”. The key bindings also don’t work in the packaged build with nativization enabled.

These are the settings I’ve had the most success with so far:

Other than this issue, the system has been fantastic, thanks for making it :slight_smile:

I’ve bought the plugin 2 days ago after being really impressed by the demo project. I’m rewriting a lot of elements in c++ to suit my project and can’t wait to see it all working!
Amazing buy !

Hello,

when I try to package with nativization enabled I get many errors like these:

"LogBlueprint: Error: [Compiler BP_GameSettings] {VariableName} is private and not accessible in this context. Set Previous Setting State from Source: /Temp/TEMP_BP/Game/QualityMenu/Blueprints/BP_GameSettings.BP_GameSettings"

so I disabled "private" option from all variables in** BP_Gamesettings **and now I can package. But then when I try to open the .exe file I get another error and it crashes:

Assertion failed: RecursionNotAllowed.Increment()==1
[File: D\Build++UE4+Release-4.17+Compile\sync\Engine\Source\Runtime\CoreUObject\Private\Serialization\AsyncLoading.cpp] [Line:4244]

If I package without nativization it works correctly. What can I do?
Also I saw that there is a way to exclude a blueprint from defaulteditor.ini but it also doesn’t work, probably I don’t type correctly the path? I type:

[BlueprintNativizationSettings]
+ExcludedAssets=/Engine/QualityMenu/Blueprints/BP_GameSettings.BP_GameSettings

Alexander Moschopoulos

Hi, first off, I’m very sorry for the late response, somehow the forum no longer notified me on my mail.

I have been working on making nativizing work for a few days, but I am afraid I dont get it going in 4.17/4.18. I think all blueprints could be nativized back in 4.15, but that is no longer the case in later engines.
Unfortunately, I dont get working even with no assets to be exclusive nativized. I can get the project to package itself, but only for it to crash on start. There seems to issues in different blueprints. I tried to resave all assets to get them up to speed with lates engines, but I fear I would have to remake every single assets, and decouple them more to get nativize working again.

I will try a bit more to get it working, but I dont think I can get nativizing up and working with the latest engines.

Yea, it hasn’t been notifying me either, no worries :slight_smile:

I managed to nativize the sample project in 4.18, but only in Inclusive mode for some reason. Even exclusive with all files selected causes issues once the project loads. I have been able to launch my game project in 4.18 with the QualityGameSettings files nativizing (much more progress than 4.17 was allowing), but then I get the same problem with the “Unable to Get Game Settings Interface from Game Instance…” once the game is loaded, and the menu options and key-inputs won’t work because of it.

Sadly that’s the end of my progress with this so far lol

EDIT: SUCCESS (exclussive nativization in 4.18)!!

I managed to nativize the full quality menu project by adding every blueprint file from the Quality Game Settings system (except for example files, I deleted the example folder in my project) and excluding all enums and structs in DefaultEditor.ini EXCEPT for the Quality Game Settings ones.

The one last file I needed to nativize was my GameInstance file, which implements the GameSettingsWrapper.

Here’s a copy+paste of the “List of BlueprintAssets to nativize” (mind the last item, my game instance class). Other than the last item, this should paste cleanly onto your list of assets to nativize (note that it will replace everything that’s there):


((FilePath="/Game/QualityMenu/Blueprints/BP_ActionManager"),(FilePath="/Game/QualityMenu/Blueprints/Util/OldAudioSystem/BP_AudioAmbientControl"),(FilePath="/Game/QualityMenu/Blueprints/Util/OldAudioSystem/BP_AudioEffectControl"),(FilePath="/Game/QualityMenu/Blueprints/Util/OldAudioSystem/BP_AudioMasterControl"),(FilePath="/Game/QualityMenu/Blueprints/Util/OldAudioSystem/BP_AudioMusicControl"),(FilePath="/Game/QualityMenu/Blueprints/Util/OldAudioSystem/BP_AudioVoiceControl"),(FilePath="/Game/QualityMenu/Blueprints/Util/BP_CharacterWithSettings"),(FilePath="/Game/QualityMenu/Blueprints/BP_GameInstanceWithSettings"),(FilePath="/Game/QualityMenu/Blueprints/BP_GameModeWithSettings"),(FilePath="/Game/QualityMenu/Blueprints/BP_GameSettings"),(FilePath="/Game/QualityMenu/Blueprints/Util/GameInstance/BP_GameSettingsWrapper"),(FilePath="/Game/QualityMenu/Blueprints/Util/Keybinding/BP_KeyAction"),(FilePath="/Game/QualityMenu/Blueprints/Util/Keybinding/BP_KeyCombination"),(FilePath="/Game/QualityMenu/Blueprints/Util/Keybinding/BP_KeyConflict"),(FilePath="/Game/QualityMenu/Blueprints/Util/Keybinding/BP_KeyInput"),(FilePath="/Game/QualityMenu/Blueprints/Util/Keybinding/BP_KeyInput_AnalogAxis"),(FilePath="/Game/QualityMenu/Blueprints/Util/Keybinding/BP_KeyInput_AnalogAxis_RemoveDelta"),(FilePath="/Game/QualityMenu/Blueprints/Util/Keybinding/BP_KeyInput_Digital"),(FilePath="/Game/QualityMenu/Blueprints/Util/Keybinding/BP_KeyMapping"),(FilePath="/Game/QualityMenu/Blueprints/BP_PlayerControllerWIthSettings"),(FilePath="/Game/QualityMenu/Blueprints/BP_SettingsCameraModifer"),(FilePath="/Game/QualityMenu/Blueprints/BP_SimpleCharacter"),(FilePath="/Game/QualityMenu/Blueprints/Util/GameInstance/BPFL_SettingsInterfaceUtil"),(FilePath="/Game/QualityMenu/Blueprints/Util/GameInstance/BPI_GameSettingsInterface"),(FilePath="/Game/QualityMenu/Blueprints/Util/Keybinding/BPI_RegisterKeyBinding"),(FilePath="/Game/QualityMenu/Blueprints/Util/BPML_GameSettingsMacros"),(FilePath="/Game/Base/Blueprints/BP_DwarrowsGameInstance"))

Hey @, are you still planning to add gamepad navigation to your menu system at some point? If so, do you have a rough estimate when it might be ready? :slight_smile:

I’m sorry, due to work, I don’t have time to properly continue at the moment. The more I look at the project, the more I see I need to remake it. I really do want to finish it, but I dont have a time estimate to give.

That’s too bad, but very understandable. Thank you for the reply!

Hi,
Again, great work on the menu!
I noticed a small issue: if you change the sliders and stop the game without hitting Save Settings, the slider values are saved and applied next time you start the game. However, if you check / uncheck VSync or a custom checkbox, those values don’t get saved unless you press the Save Settings button.

Just wondering what’s causing the different behaviour between the two.

Thanks,

Hi, this only happens in editor and not packaged game. Some of the values are stored and read from ini file using the built in settings nodes in unreal. I think this is new editor behavior since I don’t remember it doing this before. To reset values in editor, go to dev tab in menu and press “Reset and delete settings file”

Hi, the new version will be on C++ or on a Blueprints?
Thank you! :slight_smile:

The rewrite is intended to be in blueprints for accessibility, but that has also been a huge cause of problems due to different issues arising using blueprints in larger complex interactions.

Hi, Can with work with any project? Like if I have a third person project? or is this only First Person?
Thank you!

Hello,

I searched the “DT_InputActionList” data table that have all the key inputs and I wanted to change some of its default data. There is no option for a combination, for example Shift+1 or Ctrl+5, only a single key input or negative axis check box. How can I assign a key combination in the data table? I don’t want to do it in-game because every time I package my project I have to do it again inside game.

Alexander