Input System

Set up controls in one place, for all platforms and devices out of the box.

Create for any platform with ease

Input is at the heart of what makes your real-time projects interactive. With the Input System, you can quickly set up controls for multiple platforms, from mobile to VR.

Unity’s system standardizes the way you implement controls and also provides advanced functionality unprecedented in core solutions. 

You only need to bind actions to your code logic and then you can enable different devices and controls visually in the Input Action window. The Input System also provides an API. The Input System package is available from the Package Manager and verified for Unity 2019 LTS and newer versions.

Fast and flexible solution

A solid foundation

We created the Input System to support modern and custom devices with three guiding principles: ease of use, consistency across platforms and flexibility.

Intuitive and flexible workflow

Connect controls to your scripts through the Input Action component. It reads your Action Map and communicates with your script via callbacks. Create different control schemes, per-player controls and different communication methods.

At the core of Unity’s development

The new system aims to replace the legacy system, and while you can use both in your project, upcoming new Unity technology such as UI Toolkit or DOTS will be fully supported by the Input System. Join Input System forum for news on upcoming functionality.

Key features

Support for all Unity platforms

Implement standardized controls for your console, PC, mobile or XR projects, different control schemes can live in the same Unity project making cross-platform development seamless, you can also create support for custom devices.

Quick set up with a visual interface

The unified Input Action window allows you to add support for different controls and the actions that will be triggered by them creating an Input Map asset that can be used later with a component that will connect those actions to your code logic. Input System also comes with tools to visualize the current available devices and controls.

Advanced options out of the box

Runtime rebinding, per-player input, different control schemes, easy local multiplayer, automatic input detection, overriding of default HIDs or framerate independent input are some of the tools that the system offers to work for most projects needs.

Resources and projects to get you started

The documentation has get-started guides as well as coverage of the most edge case scenarios. Additionally, the package includes sample projects and tools, all available in the Package Manager. We also offer tutorials and learning content, and have a dedicated forum thread for updates.

Extensible and customizable with the API

You can add custom device support through a low level scripting API. You can also efficiently create your testing tools like bots or automated tests to streamline your production or create a custom team workflow to fit your particular needs.

Source code access

The Input System comes with full source code which offers full access to the inner workings of the tool, you can also contribute to its development through the repository on GitHub.

Join the party

Connect with our developers and access the latest news on the development of the Input System in the forum. You can share your experience with the community and discover from others use cases of the system.

The repository is available on GitHub, and you can actively participate in the development of the tool or have a deeper look under the hood.

We use cookies to ensure that we give you the best experience on our website. Visit our cookie policy page for more information.

Got it