docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Understand UI system compatibility

    Unity has three major UI solutions. The Input System package's compatibility and workflow with these solutions varies depending on which UI solution you are using, and which version of Unity you are using.

    The three main UI systems are:

    • UI Toolkit
    • Unity UI
    • IMGUI

    Some systems and versions require that you use the Input System’s UI Input Module component to pass actions from the Input System to the UI.

    Compatibility summary

    UI system Compatible UI Input Module component
    UI Toolkit (2023.2+) Yes Not required
    UI Toolkit (pre 2023.2) Yes Required
    Unity UI (uGUI) Yes Required
    IMGUI No n/a

    UI Toolkit compatibility

    UI Toolkit, also known as "UI Elements", is an XML/CSS style UI solution.

    • In versions of Unity prior to 2023.2, you must use the UI Input Module component to pass actions from the Input System to the UI.
    • From Unity 2023.2 and onwards, the UI actions defined in the default project-wide actions directly map to UI Toolkit input.

    For more information on how to configure UI Toolkit input, refer to UI Toolkit Runtime UI event system and input handling.

    UI Toolkit event system

    Internally, UI Toolkit installs the PanelEventHandler component as an event listener. The listener intercepts events that InputSystemUIInputModule sends, and translates them into events that are specific to UI Toolkit. Those events are then routed into the visual tree.

    If you employ EventSystem.SetUITookitEventSystemOverride, this default mechanism is bypassed.

    A pointer click and a gamepad submit action are distinct at the event level in UI Toolkit. For example, the following script does not invoke the handler when the button is "clicked" with the gamepad (a NavigationSubmitEvent and not a ClickEvent):

    button.RegisterCallback<ClickEvent>(_ => ButtonWasClicked());
    

    However, the following script invokes the handler in both cases:

    button.clicked += () => ButtonWasClicked();
    

    UI Toolkit XR support

    XR (tracked-type input) is not yet supported in combination with UI Toolkit. This means that you cannot use devices such as VR controllers to operate interfaces created with UI Toolkit.

    UI Toolkit raycasting

    UI Toolkit handles raycasting internally. No separate raycaster component is necessary. This means that UI Toolkit does not support TrackedDeviceRaycaster.

    Unity UI (uGUI) compatibility

    Unity UI, also known as "uGUI", is a GameObject and Component-based UI solution).

    When using uGUI, you always need to use the UI Input Module component to pass actions from the Input System to the UI.

    The uGUI package contains an older equivalent module called Standalone Input Module, which performs the same kind of integration between the Unity UI and the legacy Input Manager system.

    If you have one of these older Standalone Input Module components on a GameObject in your project, and the Input System is installed, Unity displays a button in the Inspector offering to automatically replace it with the equivalent newer Input System UI Input Module for you.

    IMGUI compatibility

    IMGUI is a script-based "Immediate Mode" UI which uses the OnGUI method.

    The Input System package is not compatible with IMGUI. However you can still use the Input System for other parts of your project, such as gameplay. For more information, refer to Use IMGUI alongside the Input System package.

    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)