Enhanced Input Advanced Features (UE 5.6) โ
๐ Documentation & Resources โ
Official UE5.6 References: โ
- ๐ Player Mappable Input Configs - Custom key binding system
- ๐ Input Modifiers - Input processing and transformation
- ๐ Input Triggers - Advanced input detection patterns
Related Tutorials: โ
- ๐ฅ Input Debugging Techniques - Debug input flow and timing
- ๐ฅ Chorded Actions Setup - Multi-key combinations
- ๐ฅ Input Replay System - Record and playback inputs
๐ Advanced Implementation โ
What/Why: Leverage UE5.6's full Enhanced Input capabilities including Player Mappable Configs, Input Debugging, Chorded Actions, and Input Replay for AAA-quality input handling.
Prereqs
- Enhanced Input plugin (default in UE 5.6)
- Understanding of basic Input Actions and Mapping Contexts
Steps
- Player Mappable Input Configs
- Create
UPlayerMappableInputConfigasset:PMI_DefaultBindings - Define
FEnhancedActionKeyMappingwithbIsPlayerMappable = true - Expose key remapping in UI:
GetPlayerMappableKeys()andAddPlayerMappedKey() - Save custom bindings via Enhanced Input Local Player Subsystem
- Chorded Actions (Multi-Key Combinations)
- Create Input Action
IA_SuperAbilitywithEInputActionValueType::Boolean - Add
Chorded Actiontrigger: requiresIA_Modifier+IA_SuperAbilitypressed simultaneously - Configure timing:
Hold Time Thresholdfor precise chord detection - Use in complex ability combinations:
Ctrl+Q,Shift+RClick, multi-button combos
- Input Debugging System
- Enable
Enhanced Input Developer SettingsโEnable Debug Visualizations - Runtime debug:
showdebug enhancedinputconsole command - Blueprint debugging:
Print Enhanced Input Action Debug Infonode - Create debug UI: display active contexts, triggered actions, and input values
- Input Replay and Recording
- Use
Input Replay Subsystemfor gameplay recording/playback - Record inputs:
StartRecording(SessionName)โStopRecording() - Playback:
StartPlayback(SessionName)with deterministic replay - Testing automation: record player session, replay for consistent test scenarios
- Context Stacking and Priority Management
- Stack contexts with explicit priorities:
AddMappingContext(Context, Priority) - Create context hierarchy:
Gameplay(0) โ Vehicle(5) โ UI(10) โ Console(100) - Advanced transitions:
SwapMappingContext()for instant context switching - Conditional contexts: enable/disable based on Gameplay Tags
- Advanced Triggers and Modifiers
Pulsetrigger: converts hold to repeated pulses (auto-fire weapons)TapvsHolddistinction: short press vs long press different actionsCombotrigger: sequence detection (fighting game combos, cheat codes)- Custom modifiers:
Dead Zone,Response Curve,Smooth Delta
- Platform-Specific Input Handling
- Create platform variants:
PMI_PC,PMI_Console,PMI_Mobile - Auto-detection:
Get Platform Nameโ apply appropriate config - Input device switching:
On Input Device Changeevent โ swap contexts - Handle controller/mouse+keyboard seamless transitions
- Accessibility and Customization
Input Sensitivityscaling per action type (look, move, aim)Hold/Toggleoptions: convert hold actions to toggles for accessibility- Visual input indicators: show button prompts with current bindings
- Colorblind support: configurable input visualization colors
Data
DA_InputProfiles: per-player input configurations and sensitivity settingsDA_PlatformInputMaps: platform-specific default bindings and restrictions- Input analytics data: track most-used bindings, chord success rates
Networking
- Input configs are client-only; don't replicate personal bindings
- Standardize server-side action names regardless of client bindings
- Input validation: server validates timing and possibility of client inputs
Performance
- Input processing budget: <0.5ms per frame for input evaluation
- Context switching cost: minimize during gameplay; batch changes
- Memory: ~50KB per player for custom binding storage
Testing
- Automated Input Testing: replay recorded sessions for regression testing
- Chord Validation: test multi-key combinations under various timings
- Platform Testing: validate bindings work on gamepad, mouse+keyboard, touch
- Accessibility Testing: verify hold-to-toggle conversions work correctly
Advanced Patterns โ
- Dynamic Input Context Generation
- Runtime context creation based on equipped items/abilities
- Vehicle-specific contexts generated from vehicle data assets
- UI contexts that adapt to current screen/widget focus
- Input Analytics and Heatmaps
- Track input usage patterns: most-used actions, timing distributions
- Performance analysis: input latency measurement and optimization
- Player behavior: identify unused bindings or problematic chord sequences
- Cross-Platform Input Synchronization
- Seamless switching between controller and mouse+keyboard mid-game
- Input device capability detection: adaptive UI based on available inputs
- Cloud save integration: sync custom bindings across devices
Suggested prompts โ
- "UE 5.6 Enhanced Input. Create Player Mappable Input Config with custom key bindings UI and save/load functionality."
- "Implement Chorded Actions for complex ability combinations with precise timing and debugging visualization."
- "Show Input Replay system for automated testing: record player session, replay deterministically for validation."
- "Create platform-specific input handling with seamless device switching and accessibility options."
Prompts for this example
- "Design Blueprint nodes for runtime key remapping UI that saves custom bindings per player profile."
- "Show Chorded Action setup for
Ctrl+Qsuper ability with timing validation and input debugging display."