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

Thank you so much!! You’re amazing!

Hi, I am using the latest version for 4.13 and have two problems.

First, I couldn’t find a way for the Bloom/Gamma/Gain to work. I read that it has been simplyfied but at the moment the sliders make no affect on the game’s visual.

Another thing is in the tutorials you have shown the way for firing a gun. In my game there is no firing but interaction. And it is done within trigger areas. In level blueprints I have used “InputAction Interact” node with the help of Interact key which is set in Project Settings - Input section. From your tutorial I did the steps to be done in InputActionList and ActionManager. But I got stuck in FirstPersonCharacter BP.

Can you help please?

Hi there, you should only need to add a new camera modifier for bloom/gamma/gain.

If you are using a Player Controller blueprint for your character, you have access to the “Player Camera Manager” and add a new camera modifier with modifier class BP_SettingsCameraModifier


If you are using a Character/Pawn (I assume you are since you are mentioning FirstPersonCharacter BP), you can access “Player Camera Manager” by first retrieving it from the controller.

Making a new keybinding should have the same steps when making a gun trigger, or interact trigger.


So following the tutorial, you only need to name all instances of “Fire Gun” with “Interact” instead.

So when you say you got stuck in FirstPersonCharacter BP, is it so that the keybinding event dont work at all?
If you add a print print string and press your keybinding button, it does not get printed?

Or do you want to know how to interact with objects from your character blueprint?
In that case, youtube has great videos on how to do so.

About Bloom/Gamma/Gain to work, what you said did the trick. I added a camera modifier in FirstPersonCharacter BP and now the sliders work fine.

About keybinding Interact, I did most of it right and print string is working fine.
https://www.dropbox.com/s/l1ll4wogxy2jkc0/Screenshot%202016-12-16%2000.30.28.png?dl=0

The problem is I don’t know how to make the binded key do the same thing as Interact key. Because in level BPs I have set the events to be triggered when the key (from the Project Settings - Input) “Interact” is pressed. Not the new binded key to do things. I need to somehow make the new binded Interact key to act as the Interact key from the project settings I guess. I hope I explained correctly. The problem is at the final step.

Keybinding system included with settings menu is separate from the normal key input system, since blueprints cant modify engine input.

Since you would like to use settings menu keybinding system in level blueprint, you have to copy some nodes from action manager, since a level blueprint can’t use action manager component.
I responded to a user earlier who wanted to use keybinding system in level blueprint, that response should help you out.

If you have more questions, you can send me a picture of your level blueprint so I can see what you would like to do.

When this menu will support gamepad controller? I talk not about binding, but using it without keyboard and mouse

Another thing, I noticed you have renamed Mouse to Camera. In my project there is a slight difference between even 0.1 and 100 sensitivity. Also inverting camera X and Y does not work. I couldn’t find implementing those to the FirstPersonCharacter BP in the tutorial. Can you show me the way please?

Hi, I renamed Mouse into Camera in last update. It’s slightly more correct since camera can be controlled by mouse/gamepad, or be re-binded to other keys. You can always rename it back to Mouse in UMG designer if that suits your game better.

Camera sensitivity and invert is done in BP_ActionManager, it receives the input binding and modifies the axis value before calling event dispatcher. See if your setup is properly calling nodes “Get Look Sensitivity Combined X/Y”.

BP_ActionManager is the same in my project with the image you shared.

In ExampleRoom Camera Settings work fine. But in my level it works strange;

When the X and Y sensitivities are 0.1, the sensitivity is very close to 50. And inverting X and Y doesn’t work.
When the X and Y sensitivities are 100, it is a little bit more sensitive. And inverting X and Y works.
When the X and Y sensitivities are 50, and X and Y are inverted, mouse does not work to look at any direction.

Sounds like you still have your old default input system conflicting with the settings menu keybinding. Both are running the same time.
Can you check if they are still in your blueprint, and remove the old camera input nodes if they are?

Yes that solved it, thanks a lot!

Now my problem is in the main BP the default values of the vidoe settings which are from 0 to 3 are all set to 2. This is what I would prefer so I didn’t touch them. But in the game for some reason they are all set to Epic. Also the default resolution and screen mode don’t affect an unsaved game when opened. Always 1920x1080 windowed full screen.

Some default settings when game is packaged are saved inside DefaultGameUserSettings.ini. See part 3.11 and 9.1 of manual.

The settings in .ini file you are interested in is:
ResolutionSizeX=1920
ResolutionSizeY=1080
FullscreenMode=2

Other default options not set in .ini file is set in BP_GameSettings default. See 7.5 of manual.

The settings in .ini file does not always work when testing the game in editor, but should work when game is packaged.

Yes, thanks. But the problem is in BP_GameSettings the default values are set to “2” while in game they are seen as Epic.

Some values does not use the defaults from BP_GameSettings but from DefaultGameUserSettings.ini, but those default settings are only applied when game is packaged outside editor.
When in editor, the engine will use some (but not all) settings from “Engine Scalability Settings” instead as default values.


Don’t forget, if you want to check out your default settings, you have to make sure that it does not load previous settings file instead. You can delete the settings file from dev tab in game.


Edit: To clarify, you don’t set these default values in BP_GameSettings, but do it in DefaultGameUserSettings.ini.
AntiAliasingQuality
ShadowQuality
PostProcessQuality
TextureQuality
EffectsQuality
FoliageQuality
VSync
ScreenMode
ScreenResolution
ResolutionScale

If you want it to load these default settings from BP_GameSettings instead, you can modify “Load Ini Setting” function in BP_GameSettings

I am really sorry for asking too many questiones. But I am stuck.

DefaultGameUserSettings.ini file is nowhere but in engine’s launcher’s vault. (C:\Program Files (x86)\Epic Games\Launcher\VaultCache\QualityMenu413\data\Config) Does editing affect the packaged game?

I have opened Load Ini Setting function in BP_GameSettings and marked all the “Set…” nodes’ Apply checkboxes as checked. https://www.dropbox.com/s/v548tmgm5a87ebo/Screenshot%202016-12-18%2017.26.13.png?dl=0

And set all the values for (0-3) variables in Default values to 1. Then packaged the game and when it opened they were still set to Epic.

The only progress was in screen mode. The game opened as window fullscreen. That’s probably because I set Util > Old Screen Mode State to Windowed Fullscreen.

All the default settings other than Video work, such as Audio and Mouse. Only exception is the name of the save file. I make it Settings but always saves with the name GameSettingsSave, but it’s not a big deal.

If we can’t find a solution to this issue that’s Ok. I think the player opening the game with full settings is not too bad. After all it is not opened as a window now :slight_smile:

As described in part 3.11 of manual, you create a new file called DefaultGameUserSettings.ini in your config folder inside your project folder, where your game project is.
If you don’t create this file, the engine will use basic default configuration instead.


You can just copy DefaultGameUserSettings.ini from the config folder of a new default Quality Game Settings project, and put the file inside your projects config folder.

If you want the game to load some default values from DefaultGameSettings.ini, then you don’t do anything with “Load Ini Settings” function.

If you want to use the default values from BP_GameSettings and ignore the .ini file, just disconnect the nodes in “Load Ini Settings”. Settings menu apply applies settings elsewhere after everything is loaded.
I assume you just want to ignore DefaultGameSettings.ini, then disconnect all nodes in the beginning of “Load Ini Settings”

Name of settings file is set in BP_GameInstanceWithSettings, when it starts up the settings system.

Everything worked just as you say. Fixed all, thank you very much!

I’ve noticed a strange issue. I don’t know if it makes a difference, but I’m on Unreal 4.14.3. If I set the music slider to “1” its muted. If I set the music slider to “0”, its full blast. I don’t get it. Is there something I missed. I changed all my assets to use the music class with the bulk edit matrix. I noticed that the sub mix was set to master submix, but there are no others. I don’t know if that has anything to do with it.

Can you do me a favor and create a new Settings Menu project and test out your sound assets there?
I can’t find a place where it could be inverted like that.

Confirm that you have not accidentally inverted the value given if you set the audio multiplier in a custom made menu.

Could you also check if any other audio channels like master/voice/ambient are inverted too?

Can you elaborate what you mean with sub mix set to master submix? There are more then one mix included with project, but you don’t need to be concerned about them unless you are doing something advanced with audio.
Your music assets only need to set its soundclass to SC_Music.