Ninja Bear Studio Plugins Help

User Settings

Ninja Input includes a dedicated Enhanced Input User Settings class that extends Epic's base implementation and centralizes player-facing preferences like mouse and gamepad sensitivity, plus axis inversion.

Setting the Custom Class

To use the custom class, configure it in Project Settings.

Enable Enhanced Input User Settings

  1. Open Project Settings.

  2. Go to EngineEnhanced Input and expand User Settings.

  3. Check Enable User Settings.

  4. Set UNinjaInputUserSettings (or your subclass) as the User Settings Class.

Enable Input User Settings

Available Properties

These properties live in the settings object and are consumed by the modifiers at runtime.

Property

Description

InvertVerticalAxis

Inverts the Y component of 2D inputs (and any 1D action you designate as "vertical").

InvertHorizontalAxis

Inverts the X component of 2D inputs (and any 1D action you designate as "horizontal").

MouseSensitivityX

Multiplier applied to mouse delta X.

MouseSensitivityY

Multiplier applied to mouse delta Y.

GamepadSensitivity

Scalar gain for gamepad sticks (applied per component).

Input Modifiers

Attach these modifiers to your Input Actions to apply the settings at runtime.

Input Modifier

Description

Gamepad Sensitivity

Scales gamepad stick values by GamepadSensitivity.

Invert XY Axis

Inverts X and/or Y using InvertHorizontalAxis/InvertVerticalAxis. Works on 1D/2D.

Mouse Sensitivity

Scales mouse delta per axis using MouseSensitivityX/MouseSensitivityY (X/Y only).

Examples

  • IA_Look (Mouse Delta): Mouse SensitivityInvert XY Axis

  • IA_Look (Gamepad Stick): Gamepad SensitivityInvert XY Axis

  • IA_Move (Gamepad Stick): Gamepad Sensitivity

User Interface

All values can be exposed and managed through the Input Settings View Model. It's a two-way ViewModel: UI updates propagate to the settings object (and vice versa).

  • When initializing this ViewModel, set the Resolver to the Ninja Input resolver.

  • After applying changes from your options screen, call your usual "apply/save" flow so the settings persist. This ViewModel provides a dedicated function for that.

Last modified: 28 August 2025