docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Default interactions

    Different Action types have different default Interactions. For example, the following diagram shows the behavior of the built-in Interactions for a simple button press.

    Interaction Diagram

    The following table provides an at-a-glance overview of how Interaction phases change for each action type's default Interaction.

    Callback InputActionType.Value InputActionType.Button InputActionType.PassThrough
    started Control(s) changed value away from the default value. Button started being pressed but has not necessarily crossed the press threshold yet. not used
    performed Control(s) changed value. Button was pressed to at least the button press threshold. Control changed value.
    canceled Control(s) are no longer actuated. Button was released. If the button was pressed above the press threshold, the button has now fallen to or below the release threshold. If the button was never fully pressed, the button is now back to completely unpressed. Action is disabled.

    Value Action default Interaction

    Value-type Actions have a default Interaction with the following behavior:

    1. As soon as a bound Control becomes actuated, the Action's Interaction phase goes from Waiting to Started, and then immediately to Performed and back to Started. One callback occurs on InputAction.started, followed by one callback on InputAction.performed.
    2. For as long as the bound Control remains actuated, the Action's Interaction phase stays in Started and triggers Performed whenever the value of the Control changes (that is, one call occurs to InputAction.performed).
    3. When the bound Control stops being actuated, the Action's Interaction phase goes to Canceled and then back to Waiting. One call occurs to InputAction.canceled.

    Button Action default Interaction

    Button-type Actions have a default Interaction with the following behavior:

    1. As soon as a bound Control becomes actuated, the Action's Interaction phase goes from Waiting to Started. One callback occurs on InputAction.started.
    2. If a Control then reaches or exceeds the button press threshold, the Action's Interaction phase goes from Started to Performed. One callback occurs on InputAction.performed. The default value of the button press threshold is defined in the input settings. However, an individual control can override this value.
    3. Once the Action has Performed, if all Controls then go back to a level of actuation at or below the release threshold, the Action's Interaction phase goes from Performed to Canceled. One call occurs to InputAction.canceled.
    4. If the Action's Interaction phase never went to Performed, it will go to Canceled as soon as all Controls are released. One call occurs to InputAction.canceled.

    PassThrough Action default Interaction

    PassThrough-type Actions have a default Interaction with a simpler behavior. The Input System doesn't try to track bound Controls as a single source of input. Instead, it triggers a Performed callback for each value change.

    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)