What problem does it solve?
It solves the problem of wiring Unity gameplay and UI controls cleanly, so actions respond correctly across keyboard, gamepads, and touch while supporting rebinding and buffering.
Core Features & Use Cases
- Action Map Design: Create Player/UI/Menu action maps with appropriate action types (Button, Value, Pass-Through) for gameplay and menus, including multi-context switching.
- Typed Input Integration: Generate strongly-typed C# classes from the input action asset and hook callbacks for started/performed/canceled to drive logic reliably.
- PlayerInput Options: Use the PlayerInput component when you want inspector wiring or C# event callbacks, trading flexibility for convenience.
- Runtime Rebinding: Provide an interactive rebinding flow that lets players change controls and persist overrides.
- Input Buffering Pattern: Capture inputs slightly before they can be consumed (e.g., jump) to improve responsiveness.
- Device Handling: Detect active device schemes to adapt behavior for different input methods.
Quick Start
Generate C# classes from your Input Action Asset, enable the correct action map at runtime, and subscribe to performed/canceled callbacks for your gameplay actions.