Skip to main content
Version: 2.x

Binding Strategies

Application Strategies are now optional binding strategies. 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 (CVars).

Use for:

  • Engine settings (sg.ShadowQuality, r.VSync, r.ScreenPercentage, t.MaxFPS)
  • Custom game CVars (audio levels, camera controls, difficulty, other game settings) - see Console Variables to create custom CVars in Blueprint

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 CVars
  • Game-specific mechanics (aim assist strength, difficulty modifiers)
  • Third-party integrations or external systems