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

Hello ,
I’m back with more question last time we talk about custom fov for zooming in game now I facing some problem you might help
As you can see in my screenshot I’m using Timline by set the FOV Timeline from 110 to 45 which mean when I’m click zoom it’s zoom from 110 to 45 right?

And here’s the problem… Whenever I set FOV in QGS 90,100,120 etc… whatever number is. When “click Zoom” to zooming from current number to 45 It’s does right! however when zoom was “release” it’s automaticly set QGS and whole FOV to 110 which was not my Intended to be from what i set and that’s come from FOV_Timeline but i can’t leave it 0 so how to makes it follow what user intended to setting the exact FOV in QGS

Thanks
[/QUOTE]

When you change the value “Field Of View FOV” in BP_Gamesettings, it no longer will know what value to return to after zoom. We should not change it directly, only displace it when needed.

If you want a zoom where the camera always goes to 45 Fov when pressing zoom, independent of current fov in settings, we can set up a timeline that goes from 0-1 where 1 is fully zoomed in.

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

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

In camera modifier, we set the zoom variable enabled.

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

Then finally, we use the zoom value from 0-1 and calculate the difference between settings fov and zoom target fov and subtract it.
If you have a fov at 50, you get a very small zoom change going to 45, and if you have a fov at 120, you get a large zoom effect going to the same 45 fov.

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

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!