Input System
The Input System allows your users to control your game or app using a device, touch, or gestures.
Introduction
Unity supports input through two systems:
- The Input Manager, documented in the main Unity manual. The Input Manager is deprecated and will be removed in a future version of Unity. It remains available for backward compatibility. For new projects, use the Input System. To update an existing project, refer to Migrate from the old input system.
- The Input System package described in this documentation. This is a more flexible system than the Input Manager and replaces it for new projects.
In Unity 6.7 and later, the Input System is a core package. Projects that you create from a template include it, but empty projects don't. In Unity 6.1 to 6.6, projects that you create from some templates include the package. If your project doesn't include the package, install it with the Package Manager.
Tip
During the installation process for the Input System package, the installer offers to automatically deactivate the older built-in system. To switch back ends later, refer to Select a back end.
To get started, refer to the Workflows section to decide how to use the Input System:
- Using actions, which is the recommended workflow.
- Using both actions and the PlayerInput component, which provides features for callbacks and multiplayer.
- Directly read device states with a script for fast prototyping or single-platform applications.
For a demo project, refer to the Warriors demo on GitHub.

The Input Actions Editor, displaying several default actions from the Input System package.