Input System
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
We created the Input System to support modern and custom devices with three guiding principles: ease of use, consistency across platforms and flexibility.
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.
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
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.
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.
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.
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.
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.
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
Learn how to configure a Unity application to use the Input System with this series on Unity Learn.
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.
Watch this video to learn how to get moving fast with Unity’s Input System, featuring handy templates and project-wide actions. See the recommended workflow for implementing on-screen controls as virtual gamepads and learn to add sensor-based input bindings for immersive experiences.
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.
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.
This Unite 2019 presentation explains how the Input System focuses on ease of use and consistency across devices.
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 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.
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.