Layouts
Define how the Input System represents input devices and controls in memory.
Layouts are an advanced feature you use when you support custom devices or change how existing devices behave. Each layout describes a memory format for input and the controls that read and write that data. The Input System uses layouts to create the correct device types and interpret incoming input.
For end-to-end custom device setup, refer to Custom devices.
| Topic | Description |
|---|---|
| About layouts | Learn what layouts are, how the Input System loads them, and when you need them. |
| Layout formats | Add layouts from C# types, JSON, or the layout builder API. |
| Layout inheritance | Derive a layout from an existing layout to reuse and extend control definitions. |
| Control items | Configure the controls in a layout and set their properties. |
| Override layout definitions | Change an existing layout without replacing the original definition. |
| Precompiled layouts | Speed up device creation by baking layouts into precompiled C# code. |