* [Introduction](index.md) * [Install the Input System package](Installation.md) * [Concepts](understanding-input.md) * [Workflows](Workflows.md) * [Using the Actions Workflow](using-actions-workflow.md) * [Using the PlayerInput Workflow](using-playerinput-workflow.md) * [Using the Direct Workflow](using-direct-workflow.md) * [Video resources](videos.md) * [Quick start guide](quick-start-guide.md) * [Setting up input](setting-up-input.md) * [Actions](actions.md) * [Input action assets](action-assets.md) * [About action assets](about-action-assets.md) * [About project-wide actions](about-project-wide-actions.md) * [Create and assign a default project-wide actions asset](create-project-wide-actions.md) * [Create an empty action asset](create-empty-action-asset.md) * [Assign an existing action asset as project-wide](assign-project-wide-actions.md) * [Default actions](default-actions.md) * [Generate C# API from actions](generate-cs-api-from-actions.md) * [Create action maps](create-edit-delete-action-maps.md) * [Create, edit and delete actions](create-edit-delete-actions.md) * [Configure actions](configure-actions.md) * [Action and control types](action-and-control-types.md) * [About action and control types](about-action-control-types.md) * [Configure action type](configure-action-type.md) * [Action types reference](action-type-reference.md) * [Configure control type](configure-control-type.md) * [Bindings](bindings.md) * [Introduction to bindings](introduction-to-bindings.md) * [Binding types](binding-types.md) * [Composite bindings](composite-bindings.md) * [Add, duplicate or delete a binding](add-duplicate-delete-binding.md) * [Select a control for binding](select-control-binding.md) * [Edit composite bindings](edit-composite-bindings.md) * [Group bindings to control schemes](group-binding-to-control-scheme.md) * [Binding resolution](binding-resolution.md) * [Restrict binding to a specific device](restrict-binding-resolution-to-device.md) * [Binding conflicts](binding-conflicts.md) * [Initial state checks](binding-initial-state-checks.md) * [Controls](controls.md) * [Introduction to controls](introduction-to-controls.md) * [Control hierarchies](control-hierarchies.md) * [Control types reference](control-types-reference.md) * [Control usages](control-usages.md) * [Control paths](control-paths.md) * [Control state](control-state.md) * [Record control state history](record-control-state-history.md) * [Control actuation](control-actuation.md) * [Noisy controls](noisy-controls.md) * [Synthetic controls](synthetic-controls.md) * [Optimizing controls](optimize-controls.md) * [Controls schemes](control-schemes.md) * [Interactions](Interactions.md) * [Introduction to interactions](introduction-interactions.md) * [Apply interactions to bindings](apply-interactions-bindings.md) * [Apply Interactions to actions](apply-interactions-actions.md) * [Predefined interactions](predefined-interactions.md) * [Default Interactions](default-interactions.md) * [Built-in Interactions](built-in-interactions.md) * [Write custom interactions](write-custom-interactions.md) * [Processors](processors.md) * [Introduction to processors](introduction-to-processors.md) * [Built-in processors](built-in-processors.md) * [Write custom processors](write-custom-processors.md) * [Add processors to bindings and actions](add-processors-bindings-actions.md) * [Add processors to controls](add-processors-controls.md) * [Input Actions Editor references](actions-editor.md) * [Input Actions Editor window reference](input-actions-editor-window-reference.md) * [Action Properties panel reference](action-properties-panel-reference.md) * [Binding Properties panel reference](binding-properties-panel-reference.md) * [Control Schemes and Devices menu reference](control-schemes-devices-menu-reference.md) * [Configure input from code](configure-input-from-code.md) * [Declare stand alone actions](declare-standalone-actions.md) * [Configure input from JSON](configure-input-from-json.md) * [Create actions in code](create-actions-in-code.md) * [Configure bindings from code](configure-bindings-from-code.md) * [Responding to input](respond-to-input.md) * [About responding to input](about-responding-to-input.md) * [Enabling actions](enable-actions.md) * [Polling actions](polling-actions.md) * [Set callbacks on actions](set-callbacks-on-actions.md) * [Read devices directly](read-devices-directly.md) * [Scripting with actions API overview](api-overview.md) * [The Player Input component](player-input-component.md) * [About the Player Input Component](about-player-input-component.md) * [Get started with the Player Input component](get-started-player-input-component.md) * [Select a notification behavior](select-notification-behavior.md) * [Configure Unity Events](configure-unity-events.md) * [Device Assignments](device-assignments.md) * [Debug Player Input Component](debug-player-input-component.md) * [Use PlayerInput Component with UI](use-player-input-component-ui.md) * [Local multiplayer scenarios](local-multiplayer-scenarios.md) * [Set up PlayerInput Component for local multiplayer](set-up-player-input-component-local-multiplayer.md) * [The Player Input Manager Component](player-input-manager-component.md) * [Get started with the Player Input Manager component](get-started-player-input-mananger-component.md) * [Configure the Player Input Manager](configure-player-input-manager-component.md) * [Set up split-screen local multiplayer](set-up-split-screen-local-multiplayer.md) * [User rebinding at runtime](user-rebinding-runtime.md) * [Look up bindings](look-up-bindings.md) * [Display bindings](display-bindings.md) * [Rebind an action at runtime](rebind-action-runtime.md) * [Save and load rebinds](save-load-rebinds.md) * [Restore original bindings](restore-original-bindings.md) * [Input settings](input-settings.md) * [Create a settings asset](create-settings-asset.md) * [Update Mode](update-mode.md) * [Background behavior](background-behavior.md) * [Compensate orientation](compensate-orientation.md) * [Default value properties](default-value-properties.md) * [Supported devices](supported-devices.md) * [Platform-specific settings](platform-specific-settings.md) * [Devices](devices.md) * [Types of input devices](devices-overview.md) * [Pointer devices](devices-pointers.md) * [Pointer devices introduction](pointers-introduction.md) * [Touch devices](devices-touch.md) * [Touch devices introduction](touch-introduction.md) * [Touch polling](touch-polling.md) * [Simulate touches](simulate-touch-input.md) * [Bind touch input to an action](bind-touch-input.md) * [Mouse devices](devices-mouse.md) * [Mouse devices introduction](mouse-introduction.md) * [Query and control mouse devices in code](query-mouse-devices.md) * [Pen devices](devices-pen.md) * [Pen devices introduction](pen-introduction.md) * [Query pen devices in code](query-pen-devices.md) * [Keyboards](devices-keyboard.md) * [Keyboard devices introduction](keyboards-introduction.md) * [Query keyboard devices in code](query-keyboards.md) * [Read text input](read-keyboard-text-input.md) * [Joystick support](devices-joysticks.md) * [Gamepads](devices-gamepads.md) * [Gamepads introduction](gamepads-introduction.md) * [PlayStation gamepads](gamepads-p.md) * [Switch gamepads](gamepads-s.md) * [Xbox gamepads](gamepads-xbox.md) * [Query and control gamepads in code](query-gamepads.md) * [Gamepad polling](gamepad-polling.md) * [Gamepad haptics](gamepad-haptics.md) * [Sensors](devices-sensors.md) * [Introduction to sensors](sensors-introduction.md) * [Query sensors in code](query-sensors.md) * [Supported sensors reference](supported-sensors-reference.md) * [Tracked Input Devices](TrackedInputDevices.md) * [Human Interface Device specification](hid-specification.md) * [Human Interface Device specification introduction](hid-specification-introduction.md) * [Create a custom device layout](hid-create-custom-layout.md) * [Use an existing input device to create a layout](hid-create-custom-layout-existing.md) * [Use a custom class to create a layout](hid-create-custom-layout-class.md) * [Supported devices reference](supported-devices-reference.md) * [Devices (scripting)](devices-scripting.md) * [Device descriptions](device-descriptions.md) * [Device capabilities](device-capabilities.md) * [Device matching](device-matching.md) * [Device lifecycle](device-lifecycle.md) * [Create a device](create-device.md) * [Remove a device](remove-device.md) * [Reset a device](reset-device.md) * [Sync a device](sync-device.md) * [Enable and disable devices](enable-disable-devices.md) * [Device background and focus changes](device-background-focus-changes.md) * [Devices and domain reloads](devices-domain-reloads.md) * [Native devices](native-devices.md) * [Device IDs](device-ids.md) * [Device usages](device-usages.md) * [Device commands](device-commands.md) * [Send a command to a device](send-command-to-device.md) * [Add a custom device command](add-custom-device-command.md) * [Device states](device-states.md) * [Monitor device state changes](monitor-device-state-changes.md) * [Synthesize a device state change](synthesize-device-state-change.md) * [Working with devices](working-with-devices.md) * [Monitor devices](monitor-devices.md) * [Manually add and remove devices](manually-add-remove-devices.md) * [Custom devices](custom-devices.md) * [Input events](input-events.md) * [Types of events](types-of-events.md) * [Listen to events](listen-to-events.md) * [Read state events](read-state-events.md) * [Create events](create-events.md) * [Record events](record-events.md) * [Event processing](event-processing.md) * [Event merging](event-merging.md) * [Create a custom device](create-custom-device.md) * [Step 1 The state struct](step-1-state-struct.md) * [Step 2 The Device class](step-2-device-class.md) * [Step 3 The Update method](step-3-update-method.md) * [Step 4 Device registration and creation](step-4-device-registration-creation.md) * [Step 5 current and all (optional)](step-5-current-all-optional.md) * [Step 6 Device Commands (Optional)](step-6-device-commands-optional.md) * [Input for user interfaces](ui-input.md) * [Supported UI systems](supported-ui-systems.md) * [Understand UI system compatibility](understand-ui-compatibility.md) * [Using UI Input Module for UI support](using-ui-input-module.md) * [Introduction to the UI Input Module](introduction-ui-input-module.md) * [Supported input types in the UI Input Module](supported-ui-input-types.md) * [Pointer input UI support](supported-ui-input-types-pointer.md) * [Navigation input UI support](supported-ui-input-types-navigation.md) * [Tracked input UI support](supported-ui-input-types-tracked.md) * [Access the UI Input Module](access-ui-input-module.md) * [UI Input Module component reference](ui-input-module-reference.md) * [Use IMGUI alongside the Input System package](use-imgui-alongside-input-system.md) * [Configure UI Input Actions](configure-ui-input-action-map.md) * [Default UI Action Map reference](ui-action-map-reference.md) * [Handling input target ambiguity](handling-input-target-ambiguity.md) * [Use a Virtual Mouse for UI cursor control](virtual-mouse-ui-cursor-control.md) * [Introduction to Virtual Mouse for UI cursor control](introduction-virtual-mouse.md) * [Configure a Virtual Mouse](configure-virtual-mouse-input.md) * [Virtual Mouse component reference](virtual-mouse-component-reference.md) * [Multiplayer UI input](multiplayer-ui-input.md) * [Introduction to multiplayer UI input](introduction-multiplayer-ui-input.md) * [Configure multiplayer UI input](configure-multiplayer-ui-input.md) * [Create on-screen controls](on-screen-controls.md) * [Introduction to on-screen controls](introduction-on-screen-controls.md) * [Create an on-screen button control](create-on-screen-button-control.md) * [Create an on-screen stick control](create-on-screen-stick-control.md) * [Create a custom on-screen control](create-custom-on-screen-control.md) * [Timing and latency](timing-and-latency.md) * [Input events queue](timing-input-events-queue.md) * [Select an input processing mode](timing-select-mode.md) * [Optimize for dynamic update](timing-optimize-dynamic-update.md) * [Optimize for fixed update](timing-optimize-fixed-update.md) * [Avoid missed or duplicate events](timing-missed-duplicate-events.md) * [Mixed timing scenarios](timing-mixed-scenarios.md) * [Editor features](EditorFeatures.md) * [Read input in Editor Windows](read-input-editor-windows.md) * [Use mobile device input in the Editor (Unity Remote)](use-mobile-device-input-editor-unity-remote.md) * [See and record input event flow](see-record-input-event-flow.md) * [Debugging](debugging.md) * [The input debugger window](the-input-debugger-window.md) * [Debug a device](debug-device.md) * [Debug an action](debug-action.md) * [Debug users and PlayerInput](debug-users-playerinput.md) * [Debug layouts](debug-layouts.md) * [Trace actions](trace-actions.md) * [Visualizers](visualizers.md) * [Visualise input controls](visualise-input-controls.md) * [Visualise actions](visualise-actions.md) * [Device Simulation](device-simulation.md) * [Testing](testing.md) * [Set up test assemblies](set-up-test-assemblies.md) * [Set up test fixtures](set-up-test-fixtures.md) * [Write tests](write-tests.md) * [Layouts](layouts.md) * [About layouts](about-layouts.md) * [Layout formats](layout-formats.md) * [Add a layout from C#](add-layout-from-cs.md) * [Add a layout from JSON](add-layout-from-json.md) * [Add a layout using Layout Builder](add-layout-using-layout-builder.md) * [Layout inheritance](layout-inheritance.md) * [Control items](control-items.md) * [Override layout definitions](override-layout-definitions.md) * [Precompiled layouts](precompiled-layouts.md) * [Create a precompiled layout](create-precompiled-layout.md) * [User management](user-management.md) * [About user management](about-user-management.md) * [Create a user paired with an input device](create-user-paired-with-input-device.md) * [Handle loss of a device](handle-loss-of-device.md) * [Migrate from the old input system](migrate-from-old-input-system.md) * [Enable the correct input system](enable-correct-input-system.md) * [Corresponding old and new APIs](corresponding-old-new-api.md) * [How do I...?](HowDoI.md) * [Architecture](Architecture.md) * [Contribute to the Input System source code](Contributing.md) * [Known limitations](KnownLimitations.md)