Skip to main content
Version: 2.x

Binding Strategies

Binding strategies are optional. The registry owns the authoritative applied value for a setting, and the binding strategy is only responsible for synchronizing that value with an external game system when needed.

If a Setting Type does not need automatic synchronization to a console variable, input system, or other runtime target, you can leave Binding Strategy empty.

Console Variable Binding Strategy​

Applies settings to Unreal Engine console variables.

Use for:

  • Engine settings (sg.ShadowQuality, r.VSync, r.ScreenPercentage, t.MaxFPS)
  • Custom game console variables (audio levels, camera controls, difficulty, other game settings) - see Console Variables to choose the right console variable source

The console variable name is specified either on the strategy or on the widget.

Input Binding Strategy​

Applies settings to Enhanced Input bindings.

Use for:

  • Input bindings (keyboard, mouse, and gamepad)

Automatically integrates with UE5's Enhanced Input system and handles binding conflicts.

Custom strategies​

You can create custom C++ or Blueprint binding strategies for game-specific systems that don't use console variables or input bindings.

Creating a custom Binding Strategy​

To create a custom Binding Strategy in Blueprint:

  1. Create a new Blueprint class that inherits from SettingBindingStrategy
  2. Override OnApply. This is called when the setting value changes.
    • The Event parameter contains the setting reference and new value.
    • Apply the value to your game system here.
  3. Override GetTargetValue (optional). Return the current value from your bound game system.
    • This is used for target synchronization and debugging.
    • Return the value as a string, or an empty string if not needed.
  4. Select your custom strategy in the Setting Type's Binding Strategy dropdown.

Example use cases:

  • Custom camera systems not controlled by console variables
  • Game-specific mechanics (aim assist strength, difficulty modifiers)
  • Third-party integrations or external systems