Menu Starter Kit

This is the support thread for my Menu Starter Kit. I will keep this updated with solutions for the most common issues.

Demo video: youtube.com/watch?v=KB6TpEBEvoQ&t=30s
Demo projects: https://drive.google.com/drive/folde…jA?usp=sharing
Documentation: https://drive.google.com/drive/folde…Vk?usp=sharing

Changelog 4.20 release

Bugfixes

  • fixed input mapping showing [None] when keyboard or gamepad input is missing
  • fixed compiler warnings in CustomButton.cpp
  • changed include paths of cpp files to relative
  • added whitelisted platforms to .uplugin

Changelog 4.19 release

New Content

  • added trigger to unlock a level by levelname
  • added trigger to unlock the next level

Bugfixes

  • applied workaround for out-of-date errors in settings
  • fixed an issue that caused the save system only to work when the level was loaded through the main menu
  • fixed sound volumes not saving correctly
  • fixed an issue were level selection uses the display name instead of level name to check if a level is unlocked
  • fixed a bug in the level selection that enabled page switch with no elements on next page

Other Improvements

  • added separate savegame file for unlocked levels
  • added exclude list to functions that return savegame names
  • added hints for delete and load keybinding in load savegame widget
  • added confirm dialog before deleting a savegame
  • added delay to the selection widget so value only changes once every 0.5 seconds
  • added various error print messages to help finding integration mistakes
  • added background blur to pause menu

Known issues

Bugs will always be fixed for the latest UE4 release. Older versions will not get an update, because I don’t want to accidentally override someones work if they didn’t move the plugin content into their game content folder. I will provide an update for new UE4 releases as soon as possible. As I have to rebuild the binaries for a new engine version and submit the files to Epic, this will be take up to two weeks after the UE4 release.

All versions

  • If the gather text function of the localization dashboard does not find any translatable texts, try moving the plugin content into your game content folder. You have to use the UE4 content browser to do this, as some internal references have to be updated when moving uassets between plugin content and project content folder.

4.19 and older

  • Key rebinding only works properly if you specified a keyboard and a gamepad binding in the input settings. Otherwise the key will be set to none and the binding will not show the next time you open the settings. You can still use the “Restore Defaults” button on the bottom of the key rebinding widget to revert this. (fixed in 4.20)

4.18

  • Sometimes some widget show on Out-Of-Date error. A workaround for this issue is to delete the affected events and instead bind them at runtime. I edited the settings widgets that way and got rid of the error. You can get the fixed files here. (fixed in 4.19)
  • Audio volumes are not set correctly. The slider return a value from 0 to 100, but the sound class expects a range from 0 to 1. (fixed in 4.19)
  • Level Unlocking uses the level display name to check if a level is unlocked. Not necessarily an issue, but bad design. (fixed in 4.19)

4.17

  • Playing as Standalone Game leads to some issues in the settings menu (widgets not being initialized, broken focus). These issues only appear when you play as Standalone Game. PIE and packaged game are not affected by this issue. (fixed in 4.18)
  • Audio volumes are not set correctly. The slider return a value from 0 to 100, but the sound class expects a range from 0 to 1. (fixed in 4.19)
  • Level Unlocking uses the level display name to check if a level is unlocked. Not necessarily an issue, but bad design. (fixed in 4.19)

4.16 and older

  • Audio volumes are not set correctly. The slider return a value from 0 to 100, but the sound class expects a range from 0 to 1. (fixed in 4.19)
  • Level Unlocking uses the level display name to check if a level is unlocked. Not necessarily an issue, but bad design. (fixed in 4.19

How do you change the hover/selected (orange) font color?

So I just have a quick question, in my game, I have a wall running mechanic and it works when you hold the spacebar in a node called “get input key time down”. How would I go about making that changeable in the key mapping section? Here’s a screenshot to help.

The parent widget WBP_BaseWidget has some variables for the colors. Changing that should be enough to change the accent color used in all widgets. Maybe you need to recompile some child widgets though. You could also override these variables in each child widget (if you want different colors for example) in the class defaults section.

You need to use an input action event if you want that to work with the key remapping. For example add the input event and check the press time manually with some logic elements and the keydown and keyup execs. If you can’t make it work with an input event, you could only use the event to write the pressed key to a variable and use that in your get input key time down node.

Edit: No reply needed. Bought the plugin and figured it out.

Hi,

I checked out the demo, and it looks really good. I have two questions:

  1. Can I change how resolution is applied? To apply it on selection change is imo a pretty bad solution when you for instance have to step through five resolutions to get the one you want. Could this be done with an apply button, or changed to a combobox?

  2. Can I easily add new settings? The resolution scale seem to be missing.

@DarthWayne: Just sent you my receipt, please can I get access to the plugin: quintond@gobbogames.co.za

Hey there! Been having an issue I hope you can help me out. I keep getting this error:


One or more blueprints has an unresolved compiler error, are you sure you want to Play in Editor?
   WBP_SettingsAudio
   WBP_SettingsDisplay
   WBP_Option
   WBP_SettingsInput

If I say yes, it plays and I get the standard red error in the upper left corner saying blueprint compile error. But if I exit (after playing) and play again, it works just fine. The problem stems from the SelectionChanged Event from your custom Widget “WBP_Option”. The error message is simple, "Event node SelectionChanged (Selection) is out-of-date. Please refresh it. see screenshot.

Refreshing it (in all the blueprints from above) fixes the problem, BUT the next time I open the editor it does this again, every time I open the editor I have to do this and i’m not sure if my settings are getting written correctly or if this will affect a packaged game. This doesn’t happen on a new project, but after a few days of working on any project. I just migrated most of my assets from one project to a new project to avoid this situation when it popped up again, so I thought I would ask for help.

@Trojke Which engine version do you use? Does this happen in the plugin version or the marketplace version? Did you copy one of the widgets before this error appeared? I had someone report a similar issue where that seemed to be the cause.

@DarthWayne I’m using 4.17.2 currently and the marketplace version, I have the plugin version but I haven’t figured out what the differences are exactly? But I just have the marketplace version that I clone and start a new project off that as a base. In the C++ code it still calls itself “MenuStarterKit”. But I haven’t copied any of the widgets or made any adjustments to the UI at all yet, its still stock standard and the only thing I have done from your code base is change the BP_Savegame to include save stuff from my game.

This is one of the reasons why it kind of baffles me.

@Trojke The difference is, that you can use the plugin in any project, even blueprint projects. I think some of the custom delegates/events in my widgets got corrupted when I switched engine version to 4.17. These are also somehow connected to the focus issue in the settings widget when you play as standalone game. (see known issues)

I hope we can figure out how to solve this issue. Don’t want to spam this thread with trial/error thought. Please send me a mail to malte.schwitters@googlemail.com. I will update this post if we find a solution.

Hi, I would like to order your plugin. But it currently does not support VR. I need it to work with VR. If we can work together here to get it to work on VR successfully. I will buy. Please let me know if you have time to work with me to get your product official VR compatible. I have the vive hardware. and with your coding+blueprint experience we should be able to accomplish this. then you can advertise for VR. I can even make you a VR working video.

It is possible to make it work with VR, but you need to make some changes. The most important one is to place the widgets in the world instead of adding them to the viewport. There might be other issues, like for example missing keyboard input. I don’t have much free time currently, but I will do my best to assist you. Please send me a email to malte.schwitters@googlemail.com

Have you ever fixed that bug? I’m having the same error…

There have been a couple reports of this error. All have in common, that it happens in 4.17. Some report that this error only appeared when they duplicated a menu widget. Others could use the plugin just fine but got the error when packaging. Sadly I haven’t been able to reproduce any of this on my side, so I can only make guesses on how to fix it.

Hi I am having trouble getting the level selection to work.

That’s not very precise. What exactly isn’t working? Did you follow the instructions here?

This works well on games that you use it on. I have a few games that I wrote my own menu. If I disable the plug-in the game wont package. I get an error:

LogPackageName: Error: DoesPackageExist: DoesPackageExist FAILED: ‘/MenuStarterKitPlugin/MenuStarterKit/Tutorials/BP_Tutorial01MainMenuLevel’ is not a standard unreal filename or a long path name. Reason: Path does not start with a valid root. Path must begin with: ‘/Engine/’, ‘/Game/’, ‘/Paper2D/’, ‘/MediaCompositing/’, ‘/AppleARKit/’, ‘/OculusVR/’, ‘/Steam
VR/’, ‘/Config/’, ‘/Script/’, ‘/Memory/’, or ‘/Temp/’

And I get a build failed, even though I’m not using it.
Is there any way of disabling this when I’m not using it?

The BP_TutorialXY files are tutorials for the editor. You can just try to delete them. They are not needed for the plugin to work and all info of the in-editor-tutorials is also in the docs. You can find them in the plugins content folder.

That doesn’t seem to be the problem. Even if I open up a new project with just the basic Third Person template and try to package it, I get the same error and build failed. I don’t even have the plugin enabled and am not trying to use it at the time. To get any project to package I have to enable the plugin even if I’m not using it.

If you delete all tutorials in the engine Installation folder you cannot get the same error message, because the files causing the error arent there any more.

You have to delete the files in this folder:
…/Engine/Plugins/Marketplace/MenuStarterKit/Content/MenuStarterKit/Tutorials/