Options Constructor

Options Constructor

Marketplace | Documentation | Demo video

Options Constructor is the set of widget blueprints and single actor component which will help you add desired settings to your game. The system is designed to construct personalized settings window with provided premade widgets. Edit, disable or add new options whenever you want.


  • game-ready options system
  • fully blueprinted
  • single manager component
  • premade widgets
  • keymapping system
  • automatically saved and loaded
  • stored locally
  • expandable
  • possibility to disable specified option when other is enabled
  • demo widget with many options implemented

Available widget types:

  • checkbox
  • combobox
  • cyclebox
  • slider
  • keymappings widget

Premade settings:

  • enable fullscreen
  • enable v-sync
  • mute all sounds
  • use desktop resolution
  • enable bloom
  • select resolution
  • select difficulty
  • select anti-aliasing quality
  • select post-processing quality
  • select shadows quality
  • select textures quality
  • select effects quality
  • select foliage quality
  • control master volume
  • control interface volume
  • control effect volume
  • control music volume
  • control ambient volume
  • control dialogs volume
  • control motion blur intensity
  • control bloom intensity
  • control camera field of view
  • control resolution scale
  • control view distance scale

You can easily change the look of existing widgets or create copies and edit them. Copied widget still can be drag&dropped into your settings window and all logic will remain.

If you got questions or need help do not hesitate to ask (here or through support mail).
Also, if there are options that you wish to see added in future updates let me know!

Hello. I am wondering about controls remapping, several thoughts, questions.

  1. I am glad I see two columns of configurable inputs. I would rather have 3, but okay.
  2. If I have plugin that sees flightstick inputs in standart UE editor project input configuration - will this also be “seen” here, or this is separate input capturing?
    Thanks in advance :slight_smile:


  1. I reckon I could extend it to three columns for you. Depends whether it should work exactly just like the two which existing rows or needs some special functionality.
  2. Most likely it will recognize flightstick inputs just like others, but you never really know.


Seems to not work in 4.21.1? I tried implementing it in my game and it caused the game to freeze (non-responsive) immediately on launch. Then I tried to install it in the ThirdPersonDemo and it freezes immediately on launch. Then I tried to install it in a completely empty project and it still freezes instantly.

It looks like setting the Game Instance to BP_GI_WithOptions is what is causing it specifically.

Edit: The more I test it, it seems the OptionsManager Component is what is causing the freeze. I can get the game to start with the Game Instance on but not adding the OptionsManager Component to the Player Controller.

Hey Regentlord,
I am using it in 4.21.1 and everything works great. BP_GI_WithOptions shouldn’t cause any problems itself because it only stores 3 map variables.

Could you share your ThirdPersonDemo or that empty project? I will take a look into it and see what see what is happening.

Send it to the mail available on the seller’s page.


I remade the issue in the Third Person demo one more time to make sure and it still happens. I sent you the files and the reproduction steps. Thanks.

Okay I’ve tracked down the issue. It seems that changing Visual Effects Quality freezes the editor/game. It happens regardless you use blueprint function (GetGameUserSettings>SetVisualEffectsQuality) or console command (sg.EffectdQuality).

I have checked it in 4.20.3 and there is no issue with Visual Effects Quality, so they must have changed something in the newest version. As a temporary solution disconnect input exec pin from SwitchOnString node in ApplyEffectQuality function (in OptionsManager component).

I will contant regarding the issue.

Thanks for the quick response, I’ll check back next week.

Seems, like that freezing is expected behavior. When you change visual effects quality, the editor will hang for few minutes and then starts compiling shaders. Once they finish compiling everything should work without problems.

Haven’t expected these in previous engine versions but maybe I just have missed it.

I’m implementing the system into my game. I’ve followed the steps for implementation and setting the default keymap, however character movement only responds from controller input and not the keyboard. I have it exactly as it’s displayed in Project Settings. Do you know why it might be happening?

All keymappings meant for rebinding should be put as the first (main key) and second (secondary key) elements. Additionally, each axis input like MoveForward and MoveRight should be split into two inputs MoveForward + MoveBackward and MoveRight + MoveLeft so they can be rebound separately. Check documentation (Keymappings and rebinding section) for more info.