Search Issue Tracker

By Design

Votes

0

Found in [Package]

2.3.1

Issue ID

XRIT-70

Regression

No

[XR Interaction Toolkit 2.3.1] XR Interactor Line Visual stops when stop at hit is false

Package: XR Interaction Toolkit

-

Reproduction steps:
1. Open the attached project “BugRepro”
2. Open “Assets/Scenes/SampleScene.scene”
3. Build and Run to a Quest 2 device
4. Using the right controller, point at the XR Canvas and the Cube
5. Observe the Raycast being stopped
6. Uncheck “stopLineAtFirstRaycastHit” with the trigger on the controller
7. Point at the Canvas

Expected result: Raycast passes through everything
Actual result: Raycast passes through Game Objects, but not through XR Canvas

Reproducible with: 2.3.1 (2020.3.47f1, 2021.3.23f1, 2022.2.16f1, 2023.1.0b13, 2023.1.0a11)
Couldn’t test with: 2.3.0 (Project breaks)

Reproducible on: macOS 13.3.1
Oculus (Quest 2), Android 10, CPU: Snapdragon XR2, GPU: Adreno (TM) 650

Note: Reproducible in Editor and in built Player

  1. Resolution Note:

    The "Stop Line At First Raycast Hit" property is designed to allow non XRI-based objects to cut the visual line short when a hit occurs. The explanation in the tooltip for the property as well as the documentation describes it as always stopping short when a Valid Target is hit. In the XR Interaction Toolkit, this applies to anything on the same physics layer that has an Interactable or TrackedDeviceGraphicsRaycaster component attached to it:

    https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@2.3/manual/xr-interactor-line-visual.html

    An invalid target would denote anything that is non-interactable, such as environmental assets. We have taken a note to further clarify the documentation surrounding the confusion in how this property is intended to be used. We will also likely change the name of the property for XRI 3.0 to reduce confusion as well.

    Looking at the project, it makes sense why this may be confusing, since the UGUI panel continues to block the line where the cubes do not (this is because it has the Tracked Device Graphics Raycaster component that is designed to work as a Valid Target for XRI). If you place an XRSimpleInteractable component on one of the cubes and check again, you will see that the other cubes do not block the line, but the UGUI and and single cube do.

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.