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

Hi @

Definitely the best, using the Unreal Save System. Very Cool Example Room showing all features :slight_smile: Very good Purchaise.:slight_smile:

Just a question. Why the Quality-Game-Settings-Menu uses the GameInstance?

Two reasons:
1: By storing GameSettings variable inside GameInstace and use “Get Game Settings”, I am guaranteed that it will be the same variable. It allows for easy access the same GameSettings variable from almost any blueprint.

2: The GameSettings blueprint is of type saveclass, allowing me to save and load all its variables. It has the downside that it can’t use “Execute Console Command” node, and it is required to apply some settings. The GameSettings class forwards all console command strings to GameInstance instead, that can support “Execute Console Command”

Edit: It is set up so it all goes through an interface “GameSettingsInterface”. So you can make use of your own game instance, as long as you add the interface and the same nodes as the provided GameInstanceWithSettings blueprint. More help can be found in Manual.

Thank you too, a pause menu would be great. With other tests it seems the keybinding doesn’t work in my PauseMenu if the game is paused (with the node “Set Game Paused” : I added it in the Menu Pressed Sequence). Generally in your Blueprints, I saw you use mainly the “Set Input Mode Game And UI”, why not use “Set Input Mode UI” instead ?

Otherweise I’ve packaged a project (with File>Package Project. It seems I don’t need Window>ProjectLauncher) and it works quite the same as in Unreal Editor except this :

  • The grab icon (the hand) is replaced by another (hand showing target with finger).
  • The dev tab is still here.
  • When windowed, the game’s window is “fixed” at the corner of the screen, impossible to grab it but it might an Unreal Engine problem.

About the Global Post Process Settings BP, you should hide in game the BP actor and set component > cube > don’t cast shadow and collision > No Collision to make it disapear when playing.

You can fix this by setting Any Key to execute when paused.

I had a good reason back when I released for 4.7-4.9, But I can check it out and see if I can use “Set Input Mode UI” now.

I tried to make it so the hand indicates that menu can be moved, and show a grab hand when user is grabbing menu, but I ended up with a mouse cursor stuck with wrong symbol. I can take a second look at it and see if I can improve it.

Did you set up the build configuration for shipping? It does not hide Dev tab when build is for development.
J5flTZj.png

This happened in 4.11 when Epic added their own game settings class. I am planning to merge their system and mine, and this will hopefully fix that. (You can still grab and drag a corner of the windowed screen and it will “pop” into a proper window mode.)

Good Idea!

Important Bug Patch!
One of my customers has found a problem where the game can break with a black screen.
To avoid any of you shipping a game that can be unusable for some players, I had to disable “View Distance Scale” in patch.
Update 1.5.1 has been submitted to marketplace team, but it will take a few days until it’s live.
zr2E7Ox.png

I don’t have the details, since I can’t reproduce the error on my end. It is a real troublesome bug since if it triggers, the problem can’t be solved by modifying blueprints, but requires editor to restart.
I am unable to submit a bug to epic without further testing it out (and I can’t trigger it on my end), but it is related to console command r.ViewDistanceScale (and maybe in combination with with other console commands).
It might be some AMD cards, but I can’t say for sure.

If you already have already implemented release 1.5, you can read manual step 8.15 on how to disable your View Distance so your players wont hit this issue.

I hope I can re-enable it when I release the next update of my menu.

Sorry for the trouble this causes.

OK, this is fixed.

I would prefer a grab hand because the player will click it instead of grab it.

OK, It was set to Development.

Same for me.

I am unable to package this in a Win64 build. I get the following errors when I package. I can run just fine from editor but cannot package Win 64.

[2016.06.17-18.12.29:506] 0]LogBlueprint:Error: Compiler Error No structure in SubCategoryObject in pin 11] from Source: /MenuSystem/QualityMenu/HUD_UMG_Classic/UtilWidgets/ClassicSettingsMappingItem.ClassicSettingsMappingItem
[2016.06.17-18.12.29:511] 0]LogBlueprint:Error: Compiler Error No structure in SubCategoryObject in pin 10] from Source: /MenuSystem/QualityMenu/HUD_UMG_Classic/UtilWidgets/ClassicSettingsMappingItem.ClassicSettingsMappingItem
[2016.06.17-18.12.29:513] 0]LogBlueprint:Error: Compiler Error No structure in SubCategoryObject in pin 9] from Source: /MenuSystem/QualityMenu/HUD_UMG_Classic/UtilWidgets/ClassicSettingsMappingItem.ClassicSettingsMappingItem
[2016.06.17-18.12.29:515] 0]LogBlueprint:Error: Compiler Error No structure in SubCategoryObject in pin 8] from Source: /MenuSystem/QualityMenu/HUD_UMG_Classic/UtilWidgets/ClassicSettingsMappingItem.ClassicSettingsMappingItem
[2016.06.17-18.12.29:516] 0]LogBlueprint:Error: Compiler Error No structure in SubCategoryObject in pin 7] from Source: /MenuSystem/QualityMenu/HUD_UMG_Classic/UtilWidgets/ClassicSettingsMappingItem.ClassicSettingsMappingItem
[2016.06.17-18.12.29:517] 0]LogBlueprint:Error: Compiler Error No structure in SubCategoryObject in pin 6] from Source: /MenuSystem/QualityMenu/HUD_UMG_Classic/UtilWidgets/ClassicSettingsMappingItem.ClassicSettingsMappingItem
[2016.06.17-18.12.29:518] 0]LogBlueprint:Error: Compiler Error No structure in SubCategoryObject in pin 5] from Source: /MenuSystem/QualityMenu/HUD_UMG_Classic/UtilWidgets/ClassicSettingsMappingItem.ClassicSettingsMappingItem
[2016.06.17-18.12.29:519] 0]LogBlueprint:Error: Compiler Error No structure in SubCategoryObject in pin 4] from Source: /MenuSystem/QualityMenu/HUD_UMG_Classic/UtilWidgets/ClassicSettingsMappingItem.ClassicSettingsMappingItem
[2016.06.17-18.12.29:519] 0]LogBlueprint:Error: Compiler Error No structure in SubCategoryObject in pin 3] from Source: /MenuSystem/QualityMenu/HUD_UMG_Classic/UtilWidgets/ClassicSettingsMappingItem.ClassicSettingsMappingItem
[2016.06.17-18.12.29:520] 0]LogBlueprint:Error: Compiler Error No structure in SubCategoryObject in pin 2] from Source: /MenuSystem/QualityMenu/HUD_UMG_Classic/UtilWidgets/ClassicSettingsMappingItem.ClassicSettingsMappingItem
[2016.06.17-18.12.29:521] 0]LogBlueprint:Error: Compiler Error No structure in SubCategoryObject in pin 1] from Source: /MenuSystem/QualityMenu/HUD_UMG_Classic/UtilWidgets/ClassicSettingsMappingItem.ClassicSettingsMappingItem[2016.06.17-18.12.29:522] 0]LogBlueprint:Error: Compiler Error No structure in SubCategoryObject in pin 0] from Source: /MenuSystem/QualityMenu/HUD_UMG_Classic/UtilWidgets/ClassicSettingsMappingItem.ClassicSettingsMappingItem
[2016.06.17-18.12.29:537] 0]LogBlueprint:Error: Compiler Error The current value of the ’ 0] ’ pin is invalid: No struct specified for pin ‘[0]’ from Source: /MenuSystem/QualityMenu/HUD_UMG_Classic/UtilWidgets/ClassicSettingsMappingItem.ClassicSettingsMappingItem
[2016.06.17-18.12.29:538] 0]LogBlueprint:Error: Compiler Error The current value of the ’ 1] ’ pin is invalid: No struct specified for pin ‘[1]’ from Source: /MenuSystem/QualityMenu/HUD_UMG_Classic/UtilWidgets/ClassicSettingsMappingItem.ClassicSettingsMappingItem
[2016.06.17-18.12.29:539] 0]LogBlueprint:Error: Compiler Error The current value of the ’ 2] ’ pin is invalid: No struct specified for pin ‘[2]’ from Source: /MenuSystem/QualityMenu/HUD_UMG_Classic/UtilWidgets/ClassicSettingsMappingItem.ClassicSettingsMappingItem
[2016.06.17-18.12.29:543] 0]LogBlueprint:Error: Compiler Error The current value of the ’ 3] ’ pin is invalid: No struct specified for pin ‘[3]’ from Source: /MenuSystem/QualityMenu/HUD_UMG_Classic/UtilWidgets/ClassicSettingsMappingItem.ClassicSettingsMappingItem
[2016.06.17-18.12.29:545] 0]LogBlueprint:Error: Compiler Error The current value of the ’ 4] ’ pin is invalid: No struct specified for pin ‘[4]’ from Source: /MenuSystem/QualityMenu/HUD_UMG_Classic/UtilWidgets/ClassicSettingsMappingItem.ClassicSettingsMappingItem
[2016.06.17-18.12.29:546] 0]LogBlueprint:Error: Compiler Error The current value of the ’ 5] ’ pin is invalid: No struct specified for pin ‘[5]’ from Source: /MenuSystem/QualityMenu/HUD_UMG_Classic/UtilWidgets/ClassicSettingsMappingItem.ClassicSettingsMappingItem
[2016.06.17-18.12.29:547] 0]LogBlueprint:Error: Compiler Error The current value of the ’ 6] ’ pin is invalid: No struct specified for pin ‘[6]’ from Source: /MenuSystem/QualityMenu/HUD_UMG_Classic/UtilWidgets/ClassicSettingsMappingItem.ClassicSettingsMappingItem
[2016.06.17-18.12.29:553] 0]LogBlueprint:Error: Compiler Error The current value of the ’ 7] ’ pin is invalid: No struct specified for pin ‘[7]’ from Source: /MenuSystem/QualityMenu/HUD_UMG_Classic/UtilWidgets/ClassicSettingsMappingItem.ClassicSettingsMappingItem
[2016.06.17-18.12.29:554] 0]LogBlueprint:Error: Compiler Error The current value of the ’ 8] ’ pin is invalid: No struct specified for pin ‘[8]’ from Source: /MenuSystem/QualityMenu/HUD_UMG_Classic/UtilWidgets/ClassicSettingsMappingItem.ClassicSettingsMappingItem
[2016.06.17-18.12.29:555] 0]LogBlueprint:Error: Compiler Error The current value of the ’ 9] ’ pin is invalid: No struct specified for pin ‘[9]’ from Source: /MenuSystem/QualityMenu/HUD_UMG_Classic/UtilWidgets/ClassicSettingsMappingItem.ClassicSettingsMappingItem
[2016.06.17-18.12.29:556] 0]LogBlueprint:Error: Compiler Error The current value of the ’ 10] ’ pin is invalid: No struct specified for pin ‘[10]’ from Source: /MenuSystem/QualityMenu/HUD_UMG_Classic/UtilWidgets/ClassicSettingsMappingItem.ClassicSettingsMappingItem
[2016.06.17-18.12.29:560] 0]LogBlueprint:Error: Compiler Error The current value of the ’ 11] ’ pin is invalid: No struct specified for pin ‘[11]’ from Source: /MenuSystem/QualityMenu/HUD_UMG_Classic/UtilWidgets/ClassicSettingsMappingItem.ClassicSettingsMappingItem
[2016.06.17-18.12.29:561] 0]LogBlueprint:Error: Compiler Error Structures don’t match for Break KeyInput from Source: /MenuSystem/QualityMenu/HUD_UMG_Classic/UtilWidgets/ClassicSettingsMappingItem.ClassicSettingsMappingItem
[2016.06.17-18.12.29:563] 0]LogBlueprint:Error: Compiler Error Failed to create property K2Node_MakeArray_Array2 from Replace Key Mapping due to a bad or unknown type (Array of Structures) from Source: /MenuSystem/QualityMenu/HUD_UMG_Classic/UtilWidgets/ClassicSettingsMappingItem.ClassicSettingsMappingItem[2016.06.17-18.12.29:564] 0]LogBlueprint:Error: Compiler Error Failed to create property CallFunc_Array_Get_Item from Item due to a bad or unknown type (Structure) from Source: /MenuSystem/QualityMenu/HUD_UMG_Classic/UtilWidgets/ClassicSettingsMappingItem.ClassicSettingsMappingItem
[2016.06.17-18.12.29:566] 0]LogBlueprint:Error: Compiler Error Failed to create property K2Node_Select_Default from False due to a bad or unknown type (Structure) from Source: /MenuSystem/QualityMenu/HUD_UMG_Classic/UtilWidgets/ClassicSettingsMappingItem.ClassicSettingsMappingItem
[2016.06.17-18.12.29:571] 0]LogBlueprint:Warning: Compiler Warning AssociatedVarProperty property overridden Input_3_484CF56342A117E3CBA042A394CBD033 from Input 3 484CF56342A117E3CBA042A394CBD033 type (Key Structure)
[2016.06.17-18.12.29:572] 0]LogBlueprint:Warning: Compiler Warning AssociatedVarProperty property overridden UseNegativeAxis_9_CA016842430D7150D94F0AABC0B31CAE from Use Negative Axis 9 CA016842430D7150D94F0AABC0B31CAE type (Boolean)
[2016.06.17-18.12.29:619] 0]LogBlueprint:Error: Compiler Error No structure in SubCategoryObject in pin 11] from Source: /MenuSystem/QualityMenu/HUD_UMG_Classic/UtilWidgets/ClassicSettingsMappingItem.ClassicSettingsMappingItem
[2016.06.17-18.12.29:620] 0]LogBlueprint:Error: Compiler Error No structure in SubCategoryObject in pin 10] from Source: /MenuSystem/QualityMenu/HUD_UMG_Classic/UtilWidgets/ClassicSettingsMappingItem.ClassicSettingsMappingItem
[2016.06.17-18.12.29:621] 0]LogBlueprint:Error: Compiler Error No structure in SubCategoryObject in pin 9] from Source: /MenuSystem/QualityMenu/HUD_UMG_Classic/UtilWidgets/ClassicSettingsMappingItem.ClassicSettingsMappingItem
[2016.06.17-18.12.29:623] 0]LogBlueprint:Error: Compiler Error No structure in SubCategoryObject in pin 8] from Source: /MenuSystem/QualityMenu/HUD_UMG_Classic/UtilWidgets/ClassicSettingsMappingItem.ClassicSettingsMappingItem
[2016.06.17-18.12.29:628] 0]LogBlueprint:Error: Compiler Error No structure in SubCategoryObject in pin 7] from Source: /MenuSystem/QualityMenu/HUD_UMG_Classic/UtilWidgets/ClassicSettingsMappingItem.ClassicSettingsMappingItem
[2016.06.17-18.12.29:631] 0]LogBlueprint:Error: Compiler Error No structure in SubCategoryObject in pin 6] from Source: /MenuSystem/QualityMenu/HUD_UMG_Classic/UtilWidgets/ClassicSettingsMappingItem.ClassicSettingsMappingItem
[2016.06.17-18.12.29:632] 0]LogBlueprint:Error: Compiler Error No structure in SubCategoryObject in pin 5] from Source: /MenuSystem/QualityMenu/HUD_UMG_Classic/UtilWidgets/ClassicSettingsMappingItem.ClassicSettingsMappingItem
[2016.06.17-18.12.29:634] 0]LogBlueprint:Error: Compiler Error No structure in SubCategoryObject in pin 4] from Source: /MenuSystem/QualityMenu/HUD_UMG_Classic/UtilWidgets/ClassicSettingsMappingItem.ClassicSettingsMappingItem
[2016.06.17-18.12.29:635] 0]LogBlueprint:Error: Compiler Error No structure in SubCategoryObject in pin 3] from Source: /MenuSystem/QualityMenu/HUD_UMG_Classic/UtilWidgets/ClassicSettingsMappingItem.ClassicSettingsMappingItem
[2016.06.17-18.12.29:636] 0]LogBlueprint:Error: Compiler Error No structure in SubCategoryObject in pin 2] from Source: /MenuSystem/QualityMenu/HUD_UMG_Classic/UtilWidgets/ClassicSettingsMappingItem.ClassicSettingsMappingItem
[2016.06.17-18.12.29:637] 0]LogBlueprint:Error: Compiler Error No structure in SubCategoryObject in pin 1] from Source: /MenuSystem/QualityMenu/HUD_UMG_Classic/UtilWidgets/ClassicSettingsMappingItem.ClassicSettingsMappingItem
[2016.06.17-18.12.29:639] 0]LogBlueprint:Error: Compiler Error No structure in SubCategoryObject in pin 0] from Source: /MenuSystem/QualityMenu/HUD_UMG_Classic/UtilWidgets/ClassicSettingsMappingItem.ClassicSettingsMappingItem
[2016.06.17-18.12.29:655] 0]LogBlueprint:Error: Compiler Error The current value of the ’ 0] ’ pin is invalid: No struct specified for pin ‘[0]’ from Source: /MenuSystem/QualityMenu/HUD_UMG_Classic/UtilWidgets/ClassicSettingsMappingItem.ClassicSettingsMappingItem
[2016.06.17-18.12.29:656] 0]LogBlueprint:Error: Compiler Error The current value of the ’ 1] ’ pin is invalid: No struct specified for pin ‘[1]’ from Source: /MenuSystem/QualityMenu/HUD_UMG_Classic/UtilWidgets/ClassicSettingsMappingItem.ClassicSettingsMappingItem
[2016.06.17-18.12.29:657] 0]LogBlueprint:Error: Compiler Error The current value of the ’ 2] ’ pin is invalid: No struct specified for pin ‘[2]’ from Source: /MenuSystem/QualityMenu/HUD_UMG_Classic/UtilWidgets/ClassicSettingsMappingItem.ClassicSettingsMappingItem
[2016.06.17-18.12.29:662] 0]LogBlueprint:Error: Compiler Error The current value of the ’ 3] ’ pin is invalid: No struct specified for pin ‘[3]’ from Source: /MenuSystem/QualityMenu/HUD_UMG_Classic/UtilWidgets/ClassicSettingsMappingItem.ClassicSettingsMappingItem
[2016.06.17-18.12.29:663] 0]LogBlueprint:Error: Compiler Error The current value of the ’ 4] ’ pin is invalid: No struct specified for pin ‘[4]’ from Source: /MenuSystem/QualityMenu/HUD_UMG_Classic/UtilWidgets/ClassicSettingsMappingItem.ClassicSettingsMappingItem
[2016.06.17-18.12.29:664] 0]LogBlueprint:Error: Compiler Error The current value of the ’ 5] ’ pin is invalid: No struct specified for pin ‘[5]’ from Source: /MenuSystem/QualityMenu/HUD_UMG_Classic/UtilWidgets/ClassicSettingsMappingItem.ClassicSettingsMappingItem
[2016.06.17-18.12.29:665] 0]LogBlueprint:Error: Compiler Error The current value of the ’ 6] ’ pin is invalid: No struct specified for pin ‘[6]’ from Source: /MenuSystem/QualityMenu/HUD_UMG_Classic/UtilWidgets/ClassicSettingsMappingItem.ClassicSettingsMappingItem
[2016.06.17-18.12.29:671] 0]LogBlueprint:Error: Compiler Error The current value of the ’ 7] ’ pin is invalid: No struct specified for pin ‘[7]’ from Source: /MenuSystem/QualityMenu/HUD_UMG_Classic/UtilWidgets/ClassicSettingsMappingItem.ClassicSettingsMappingItem
[2016.06.17-18.12.29:672] 0]LogBlueprint:Error: Compiler Error The current value of the ’ 8] ’ pin is invalid: No struct specified for pin ‘[8]’ from Source: /MenuSystem/QualityMenu/HUD_UMG_Classic/UtilWidgets/ClassicSettingsMappingItem.ClassicSettingsMappingItem
[2016.06.17-18.12.29:673] 0]LogBlueprint:Error: Compiler Error The current value of the ’ 9] ’ pin is invalid: No struct specified for pin ‘[9]’ from Source: /MenuSystem/QualityMenu/HUD_UMG_Classic/UtilWidgets/ClassicSettingsMappingItem.ClassicSettingsMappingItem
[2016.06.17-18.12.29:674] 0]LogBlueprint:Error: Compiler Error The current value of the ’ 10] ’ pin is invalid: No struct specified for pin ‘[10]’ from Source: /MenuSystem/QualityMenu/HUD_UMG_Classic/UtilWidgets/ClassicSettingsMappingItem.ClassicSettingsMappingItem
[2016.06.17-18.12.29:680] 0]LogBlueprint:Error: Compiler Error The current value of the ’ 11] ’ pin is invalid: No struct specified for pin ‘[11]’ from Source: /MenuSystem/QualityMenu/HUD_UMG_Classic/UtilWidgets/ClassicSettingsMappingItem.ClassicSettingsMappingItem
[2016.06.17-18.12.29:680] 0]LogBlueprint:Error: Compiler Error Structures don’t match for Break KeyInput from Source: /MenuSystem/QualityMenu/HUD_UMG_Classic/UtilWidgets/ClassicSettingsMappingItem.ClassicSettingsMappingItem
[2016.06.17-18.12.29:681] 0]LogBlueprint:Error: Compiler Error Failed to create property K2Node_MakeArray_Array2 from Replace Key Mapping due to a bad or unknown type (Array of Structures) from Source: /MenuSystem/QualityMenu/HUD_UMG_Classic/UtilWidgets/ClassicSettingsMappingItem.ClassicSettingsMappingItem
[2016.06.17-18.12.29:682] 0]LogBlueprint:Error: Compiler Error Failed to create property CallFunc_Array_Get_Item from Item due to a bad or unknown type (Structure) from Source: /MenuSystem/QualityMenu/HUD_UMG_Classic/UtilWidgets/ClassicSettingsMappingItem.ClassicSettingsMappingItem
[2016.06.17-18.12.29:683] 0]LogBlueprint:Error: Compiler Error Failed to create property K2Node_Select_Default from False due to a bad or unknown type (Structure) from Source: /MenuSystem/QualityMenu/HUD_UMG_Classic/UtilWidgets/ClassicSettingsMappingItem.ClassicSettingsMappingItem
[2016.06.17-18.12.29:687] 0]LogBlueprint:Warning: Compiler Warning AssociatedVarProperty property overridden Input_3_484CF56342A117E3CBA042A394CBD033 from Input 3 484CF56342A117E3CBA042A394CBD033 type (Key Structure)
[2016.06.17-18.12.29:688] 0]LogBlueprint:Warning: Compiler Warning AssociatedVarProperty property overridden UseNegativeAxis_9_CA016842430D7150D94F0AABC0B31CAE from Use Negative Axis 9 CA016842430D7150D94F0AABC0B31CAE type (Boolean)
[2016.06.17-18.12.31:585] 0]LogCook:Display: Cooking /MenuSystem/MenuAssets/Levels/MainMenu -> C:/Unreal Projects/SideQuest412/Saved/Cooked/WindowsNoEditor/SideQuest/Plugins/MenuSystem/Content/MenuAssets/Levels/MainMenu.umap
[2016.06.17-18.12.31:602] 0]LogSavePackage: Save=13.07ms

That is all.

Hi, the errors seems to complain about the structure array in macro GameSettingsMacro, Function “Replace Key Mapping”, (Find it in folder: QualityMenu -> Blueprints -> Util -> “GameSettingsMacro”)

aqNJlEo.png

The error message refers to pins 0 to 11 in the make array node. It converts directional input into its relevant axis directions. It complains that it can not validate the structure the array is made up of.
Can you please check if “Replace Key Mapping” looks like this? Or if you can remake it to remind engine what structure the array is made up of?

Hello,
I’ve now a main menu. In the Unreal Editor, I can call your Option Menu from the Menu widget (the main menu) and then from the PauseMenu (in another level).
Strangely, in a packaged poject I can’t call the Option Menu from the Menu (it displays nothing when I click the option button). But It works with the PauseMenu. I don’t understand why.

Ok, as I understand it, in a packaged project, you can open the settings menu with a button from your pause menu, but not from your main menu. But it works fine in editor.

Can you post images of your pause menu and main menu blueprint where you open menu?

Don’t forget. Your pause menu gets its owning player pawn and fetches the settings menu from your first person character who “owns” the pause menu and settings menu.

In your main menu level, you might not have a first person character to cast to, since no first person character pawn exist in your main menu level.
Depending on where and how you create the settings menu widget, the cast to “first person character” from “Get Owning Player Pawn” fails on packaged project, and settings menu can never be retrieved as a variable.
(I do not know why it would still work in editor)

I see the confusion in this, so I will add examples in an update later.

I don’t know if this helps you solve your problem, I don’t have much information on how you have set up your blueprints.
If this did not help you find a solution, could you please post pictures of your blueprint setup of where the settings menu/pause menu/main menu widgets are created, and where you retrieve and open them.

Thank you for your answer :

This must be something like that. My main menu level Game Mode is set voluntarily to FirstPersonGameMode. When I change it to GameMode, it doesn’t work in Unreal Editor. So as I setted this main menu level Game to Defaults Maps in ProjectSettings, the packaged project may set it to GameMode. I will try to set another map to Default Map and then call from this map the main menu level Game.

I’ve solved the problem by adding delays inside the main menu UMG event graph : a 0.05 delay after the Event Construct and a 0.1 delay after the Event OnClicked (OptionsButton). So it makes sure that the FPC is called first, then its variables. So it works now in packaged project.

About the Distant View bug, did you fixed it since the last patch of your option menu ?

It’s good that you have fixed it. I have been working on the latest patch. I am awaiting response from a user who has the problem, but I assume I can re-enable it for now. The problem is not entirely fixed, but the game should now start and work fine. If a computer have the black screen issue, it will trigger it when view distance scaled is modified. I assume the game goes black, but menu is still visible, so user can recover by moving view distance scale back to 1. This is the best I can do for now. I wish I can properly fix this in the future, but since I cant trigger the black screen myself, I cant find a real solution.

In the next patch, I have now included a barebones main menu.
It includes 3 blueprints. One main menu widget, one player controller to spawn menu and manage action manager, and a Game Mode activating the player controller.

To set up this main menu, create a new empty black level, Open level world settings in “Window” -> “World Settings”, set its game mode to “ExampleMainMenuGameMode”, and press play.
That’s it. Very little hazzle in setting it up. No weird delay nodes, no casting to player controller.

This is the full patch list, some based on your feedbacks:
Quality Game Settings 1.5.2 (Unreal 4.11 and 4.12)

  • Re-enabled View Distance Scale. Problem is not solved fully, but the few computers affected by black screen will not experience it on startup, only when changing View Distance.
  • Added barebones Example Main Menu and Character Controller (See manual 7.8)
  • Renamed Mouse tab to Camera. It is more correct since camera sensitivity can be controlled by other input then mouse now.
  • Set (some) variables to be read by ini file. (in file “GameUserSettings.ini (see step 9.1 in manual))
  • Feedback said remapping progress bar was a bit slow. Increased its speed about 30%
  • No longer needs to add “Make Key Input” on “Any Key Press” node
  • The Global Post Process mesh cube and text is now destroyed when game start.
  • UNOFFICIAL “LE Extended Standard Library” support. Added example to add sound class volume control from a marketplace plugin. See step 4.2 in manual. (This is only provided as a suggested improvement, and I can not help if you have problems related to it) LE Extended Standard Library in Code Plugins - UE Marketplace
  • BUGFIX: If save on apply is disabled, keybinding no longer not revert on apply.
  • BUGFIX: Keep mouse sensitivity consistent when fps changes.
  • BUGFIX: Fix an error message wrongly report missing audio emittors.
  • BUGFIX: Quality sliders position was offset when grabbed
  • BUGFIX: Window mode did not have title/top bar (EDIT: Nope, not fixed after all, need to recheck why)

I’ll submit it to marketplace team as soon as I get a update on the black screen issue, and have confirmed that it’s not as gamebreaking as before.

Thanks for the new main menu! I look forward to integrating it into my projects.

Thank you for the upcoming patch.

Is the window for a packaged project still fixed at the corner of the screen ? For me it’s now the main problem before using your Settings Menu.

I have another problem/feedback : man can trigger a fire/something else when man clicks outside the Setting Menu vertical box or inside, between buttons. Is there a way to disable this input in the UMG widget ?

I have another problem : when man remap, for example I press “Z” and then I move the mouse below, it will display “Z+Left Mouse Button”. Fortunately, this problem decreases when man increases this speed. It is linked to the problem just above.

Yes, this was the bug fixed.
You can try out the packaged 1.5.2 demo http://goo.gl/Ze4kCF

Input is controlled by the action manager, so it has to be disabled there. UMG widget has no control of where input goes, and “Set Game Mode UI only” will not work since action manager does its own thing.

You can put a branch in action manager to deny input when menu is open. So when menu opens or closes from character, you have to update this new variable in action manager.
dYy9xMK.png

This is a side effect of being able to remap mouse directions. It does what it’s supposed to do, and registers mouse movement as an input if remap timer is not over.

If you feel its too sensitive, you can adjust the threshold to register mouse movement inside Action manager -> Function: “Listens New Mouse Bindings”

Set the thresholds for X and Y axis to a higher value then 0,6. Mouse then needs to move faster for an input to be registered.
dYy9xMK.png

Edit: Oh, did not read that correctly. If it says, “Z+Left Mouse Button”, then you pressed left mouse button before timer had ended.

Thanks for your answer :

Good news.

This solved the problem (it displayed “Z+Mouse”).

I will take a look at the Action Manager.

Did it say “Z+Mouse”, or “Z+Mouse ▼”?
It is supposed to display a Unicode symbol indicating a mouse direction. I used that symbol since I assumed it was a part of Unreal’s fontset. If it is missing that symbol, it does not work on all computers and I need to include my own font in next update.

There is no problems : it’s “Z+Mouse ▼” or other mouse direction symbols.

Sorry to bring you bad news, windowed mode is not fixed after all. But there is a workaround. I did more testing and noticed I had made a mistake.

If the game starts up in fullscreen mode, it will be stuck in corner when going to windowed mode. Without a GameUserSettings.ini file, the engine start by default in fullscreen mode.
If you pull one of the corners to nudge it, its fixed this session. You can go to fullscreen and back to windowed, and it works fine.
1a7nwr7.png

But if the game restarts in fullscreen mode, the problem is back. If it starts windowed mode, it works fine.
That was my mistake, not deleting the old GameUserSetting.ini save file and thinking it was fixed when I no longer used a “execute console command” node.

So a temp workaround would be to ship a game with a GameUserSettings.ini with FullscreenMode=2. (GameUserSetting.ini is generated when pressing OK in menu). But if the user saves the game with fullscreen, the problem re-appear on restart. I dont think this can be solved in blueprints since GameUserSettings is run before I can set a screenmode.

I did some further testing, and found out this is an issue with the engine. Same problem happens in other projects when engine starts up in fullscreen mode.

I will think about it, and see if I can find a workaround, but for now, I will submit a bugreport to epic. Sorry for bringing your hopes up on this bug, I really thought I had it fixed.

I have enjoyed your feedback, and it helps me improve my menu. Do tell me if you find anything else.

Update 1.5.2 is now live on marketplace.

Edit: Bug report link