Search Issue Tracker

By Design



Found in [Package]


Issue ID




Unable to click any UI buttons in VR

Package: Input System


Reproduction steps:
1. Open the user's attached "" project
2. Enter the Play mode
3. Press the Start button on the left controller to open the UI
4. Hover the left controller over "Cube (BuiltIn)" and press the index trigger

Expected result: The button gets pressed, blinks, and a cube gets added to the Scene
Actual result: The button does not get pressed

Reproducible with: 1.1.0-preview.1 (2019.4.32f1, 2020.3.23f1), 1.2.0 (2019.4.32f1, 2020.3.23f1, 2021.2.3f1, 2022.1.0a15)
Not reproducible with: 1.0.2 (2019.4.32f1, 2020.3.23f1)

- Tested with Oculus Rift CV1

  1. Resolution Note:

    After investigating the project more deeply, we discovered a minor configuration issue on XR Controller Actions for both the LeftHand Controller and RightHand Controller objects. There are 2 options to solving this:

    1. Open the project and navigate to the XR Rig object
    2. Expand XR Rig and Camera Offset and click on LeftHand Controller
    3. In the Inspector pane expand the XR Controller (Action-based) Component
    4. Scroll down to find the UI Press Action area
    5. Click the Gear icon to open the configuration panel
    6. Option A (Action Type Change - Recommended Approach):
    - Find the dropdown for Action Type and change the value to Button
    7. Option B (Add Input Action Interactions):
    - Expand the section labeled Interactions to make sure none already exist
    - Click the + and choose Press from the options in the dropdown. This will add an interaction to occur when the Value for the Input Action hits the Press
    Point threshold for the given amount of time. As noted in the inspector panel for this Interaction, this is typically reserved for more advanced customization of the Press behavior.
    8. Repeat steps 3-7 for RightHand Controller
    Note: You will probably want to change these settings for Select Action and Activate Action for each controller as well.

    In previous versions of Input System and XR Interaction Toolkit, the configuration for control thresholds needed to be done on the XR Controller component itself. However, starting with 1.1 of the Input System, those Input Actions can now be fully configured to define thresholds or use advanced interactions like Hold or any other custom interaction. This gives more flexibility to developers in how they want to map their inputs, but it does mean that the type has to be changed to a Button to interpret the value correctly. While this approach may seem a bit more complex to setup, it is ultimately designed to give creators far more control over how the various user devices interact with their content. To this end, it is highly recommended to generate and use an .inputactions file and reference specific actions from the XR Controller component by using the Use Reference checkbox under each action type. If you do this the only other addition required is to add the Input Action Manager component to the scene and add an Action Assets reference to your .inputactions file. The XRI Default Input Actions.inputactions file is already in your project to get you started (located in Assets/Samples/XR Interaction Toolkit/1.0.0-pre.8/Default Input Actions/XRI Default Input Actions.inputactions). You can create a copy of this file and customize it to your needs. There are some great workflow and visibility benefits to using this approach, including the consolidation of your Action Maps across different devices into a single view for easier configuration of the input. This file can also be shared between projects to help you standardize/simplify your XR input interactions.

    We hope this sheds some light on how things work and also why we designed them this way.

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.