What problem does it solve? Setting up player controls in Unreal Engine requires correctly wiring Input Actions, Input Mapping Contexts, the Enhanced Input Local Player Subsystem, and the Enhanced Input Component — a process with many failure points such as missing Build.cs dependencies, unset default input classes, and value type mismatches. This Skill provides the exact classes, API signatures, binding patterns, and gotchas needed to implement Enhanced Input correctly in C++. ## Core Features & Use Cases - Action and context setup: Create UInputAction assets with the right value types (Boolean, Axis1D, Axis2D, Axis3D) and UInputMappingContext assets with per-key modifiers and triggers. - C++ binding patterns: Bind actions via UEnhancedInputComponent::BindAction with the correct ETriggerEvent, read FInputActionValue with Get<T>(), and push/pop mapping contexts at runtime for context switching (on-foot vs. in-vehicle vs. UI). - Modifiers and triggers: Apply Negate, SwizzleAxis, DeadZone, Scalar, and Smooth modifiers, and Pressed, Released, Hold, Tap, Pulse, and ChordedAction triggers, including the WASD-as-Axis2D modifier pattern. - Use Case: You are building a character controller and need WASD movement, mouse look, and jump working in C++. The Skill gives you the complete SetupPlayerInputComponent implementation, the subsystem call to add the mapping context on possession, and the modifier configuration for the four WASD keys. ## Quick Start Use the ue-enhanced-input skill to set up WASD movement, mouse look, and jump bindings for my Character class in Unreal Engine 5.8.