docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    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.

    Additional resources

    • Custom devices
    • Debug layouts
    • Human Interface Device specification
    In This Article
    Back to top
    Copyright © 2026 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)