What are you looking for?
Hero background image
Input System
Set up controls in one place, for all platforms and devices out of the box.
Create for any platform with ease

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 Input Actions to your code logic, then you can enable different devices and controls visually in the Input Actions Editor. The Input System package is available through the Package Manager. Starting with version 1.8.2, it includes Project-Wide Actions. This feature provides a preconfigured set of Input Actions, allowing you to set up your player controls faster.

Fast and flexible solution
A solid foundation
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
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
At the core of Unity’s development

The Input System is designed to replace the old Input Manager, offering a more flexible and powerful solution. It includes sub-frame resolution, extended device support, built-in debugging tools, multiplayer capabilities, and more. Join the Input System’s Discussions page for news on upcoming functionalities.

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 may even add support for custom devices.

Quick set up with a visual interface

The Input Actions Editor allows for quick setup with a user-friendly visual interface. It provides access to a set of built-in interactions and processors, or you can customize your own to fit your project’s needs. With the new Project Wide Actions feature, setup is even faster, offering a pre-configured set of actions to jump-start your project. Input System also comes with tools to visualize the current available devices, controls, and their active states.

Advanced options out of the box

Runtime rebinding, per-player input, various control schemes, easy local multiplayer, automatic input detection, and high-frequency sub-frame input are some of the tools that the system offers.

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 Discussions page 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.

Learn more
Tutorial: Using the Input System in Unity
Tutorial: Using the Input System in Unity

Learn how to configure a Unity application to use the Input System with this series on Unity Learn.

Input System: Workflow tips and feature integrations
Input System: Workflow tips and feature integrations

In this Unite Now session, you’ll learn how to quickly switch control schemes, rebind control settings, and connect the Input System with other Unity features like Cinemachine or Unity UI.

Meet the devs: Input System
Meet the devs: Input System

This session shows a demo of setting up a local multiplayer, and how you can quickly set up gamepad controls, spawn new players and mobile controls. The main developer also answers questions from the audience.

Documentation
Documentation

The documentation provides an extensive guide to getting started with Unity's Input System, covering everything from how to migrate from the old Input Manager and setting it up using Project Wide Actions to more advanced features and customization options.

Intro to the input system
Introducing the new Input System

This Unite 2019 presentation explains how the Input System focuses on ease of use and consistency across devices.

Implementing an Ability System tutorial
Implementing an Ability System tutorial

The Prototype Series is a group of videos that focuses on the creation of playable prototypes, showcasing how multiple features of Unity can be used to achieve game mechanics that can be used in real-world scenarios, in this video Input System is used to move a 3D Character.

Lost Crypt 2D sample project
Lost Crypt 2D sample project

Lost Crypt is a 2D side-scrolling sample project that showcases all of Unity’s 2D tools. It uses the Input System to control the 2D character.

Join the party
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.