Enhanced Input
unreal-enhanced-input8 focused referencesDesign, implement, remap, test, and debug player input with Unreal Engine 5.8 Enhanced Input. Use for Input Actions, Input Mapping Contexts, priorities, local-player ownership, trigger events, hold/tap/release/chord behavior, modifiers, dead zones, sensitivity, inversion, 2D movement, contextual controls, possession, split screen, player-mappable key settings, key profiles, conflict handling, saving, input buffering, coyote time, input injection, Common UI integration, or missing/duplicate input events.
Ownership boundary
This skill owns action/context/trigger/modifier semantics and player-mappable key profiles. Route menu
layers, focus, and UI input routing to
unreal-umg-commonui. Use
unreal-save-load only when settings join a broader custom slot,
versioning, user, or cloud-persistence policy; do not duplicate key-profile authority in two systems.
Build the input model
- Define one
UInputActionper player intent, not per physical key. - Choose its value type: Boolean, Axis1D, Axis2D, or Axis3D.
- Group mappings by coherent situation in
UInputMappingContextassets. - Add/remove contexts on the correct
UEnhancedInputLocalPlayerSubsystemwith documented priorities and mutual-exclusion rules. - Transform raw values with modifiers; decide activation timing with triggers.
- Bind action trigger events through
UEnhancedInputComponentor Blueprint action events. - Forward semantic intent to the possessed pawn, component, GAS, UI, or command layer.
Read references/architecture.md and
references/contexts-ownership.md first.
Select event semantics deliberately
Started: evaluation began.Ongoing: trigger conditions are partially satisfied.Triggered: all trigger conditions succeeded; may repeat depending on trigger.Completed: a triggered action returned to none.Canceled: evaluation ended before successful completion.
Read references/triggers-modifiers.md. Do not assume
Triggered means a one-shot press; without a one-shot trigger, actuation can trigger each tick.
Separate detection from gameplay forgiveness
Enhanced Input detects and interprets input. A gameplay buffer stores a timestamped semantic
request until the gameplay state can accept it. Implement buffers and coyote time in the
gameplay action/movement layer, not as an invented built-in Enhanced Input feature. Read
references/buffering.md.
Rebinding
Use UE 5.8 UEnhancedInputUserSettings, Player Mappable Key Settings, mapping names, slots,
and key profiles. Register all relevant contexts with settings, map with FMapPlayerKeyArgs,
surface failure reasons/conflicts, apply, and save. Read
references/rebinding-settings.md.
Required answer format
Return:
- Input Actions with value types.
- Mapping Contexts, ownership, priorities, and add/remove lifecycle.
- Mappings, modifiers, triggers, and bound trigger events.
- Intent routing and gameplay-buffer ownership where applicable.
- Rebinding, conflict, profile, persistence, and accessibility behavior.
- Device, focus, possession, split-screen, and packaged-build tests.
Do not invent node names, default thresholds, context priorities, or save behavior.
Hard rules
- Add contexts to the Local Player that owns the input, not to a global gameplay object.
- Do not leave mutually exclusive contexts active and hope priority hides every collision.
- Do not bind the same action repeatedly across possession/reinitialization.
- Do not put gameplay logic inside reusable modifiers or triggers when a semantic command will do.
- Do not identify saved mappings by localized display text; use stable mapping names and slots.
- Do not treat client input as authoritative gameplay state.
- Test context rebuilds while keys are held; UE 5.8 preserves trigger/modifier state more reliably, but custom classes must implement reinstancing behavior when stateful.
Use references/patterns.md for common controls and
references/troubleshooting.md for missing, repeated, stuck,
or conflicting input. See references/sources.md for the UE 5.8 trail.
Focused references