Skip to main content
System decisionInput

Enhanced Input or Legacy Input?

Choose the current asset-based input system or retain UE4-style mappings during migration.

Enhanced InputInput ActionInput Mapping ContextLegacy Input

Recommendation

Use Enhanced Input for new UE5 work. Keep legacy input only while maintaining an existing system when migration costs more than the needed features.

Compare the options

Enhanced Input

Choose when

  • The project needs runtime remapping or contextual controls.
  • Input uses priorities, chords, holds, dead zones, modifiers, or triggers.
  • Actions need bool, 1D, 2D, or 3D values.

Tradeoffs

  • The system adds Input Action and Mapping Context assets.
  • Triggers, modifiers, and context priority need a clear project convention.
Blueprint
Use Input Action assets, Input Mapping Contexts, Enhanced Input events, and the Local Player Enhanced Input Subsystem.
C++
Use UInputAction, UInputMappingContext, UEnhancedInputComponent, and UEnhancedInputLocalPlayerSubsystem.

Legacy Input

Choose when

  • An established UE4-style project is still in maintenance.
  • The current mappings meet project needs and migration has no practical return.

Tradeoffs

  • Legacy mappings lack Enhanced Input contextual and runtime remapping tools.
  • New UE5 samples and CommonUI integration center on Enhanced Input.
Blueprint
Use legacy Action Event and Axis Event nodes configured in Project Settings.
C++
Use UInputComponent::BindAction and BindAxis.

Requirements

Enhanced Input uses the Enhanced Input plugin and the EnhancedInput module.

Example

Create Walking, Driving, and Menu Mapping Contexts. Add and remove them through the Local Player Enhanced Input Subsystem as the player changes state.

Epic documentation

Related guides

Unreal Directive is free and ad-free.

If it saved you time, you can help keep it that way.

Donate