Search Issue Tracker

Fixed

Fixed in 2.3.0

Votes

0

Found in [Package]

2.1.0-pre.1

Issue ID

XRIT-31

Regression

No

[XRI] Constant calls of XR Interactable events if two interactors select the same XR Grab Interactable

Package: XR Interaction Toolkit

-

Steps to reproduce:
1. Open the user attached project "MTrack_bck220424.zip"
2. Open the "Assets/Scenes/Proto.unity" scene in the Scenes Folder
3. Enable Oculus link and enter Play Mode
4. Grab one of the objects with one controller and you will notice the console prints a Debug.Log (via the "XRInteractableHelper.cs")
5. Grab the same object with both controllers, you will see the script will now produce a constant stream of these debug messages, even though, they are only being called from "First Select Entered" and "Last Select Exited"

Expected results: There should be only two outputs: one when you first grab the object and one when you let it go with your last controller
Actual results: constant calls of XR Interactable events if two interactors select the same XR Grab Interactable

Reproducible on: XRI 2.0.0 - 2.1.0-pre.1 (2021.3.8f1, 2022.1.13f1, 2022.2.0b5, 2023.1.0a6)
Could not test on 2020.3.37f1 due to package errors when downgrading
Could not test below XRI 2.0.0 due to package errors when downgrading the package

Notes:
-You can fix this issue by changing the "Select Action Trigger" of the XR Direct Interactors from "State" to "State Change". "The event that is called only when the first Interactor begins selecting this Interactable as the sole selecting Interactor. Subsequent Interactors that begin selecting this Interactable will not cause this event to be invoked as long as any others are still selecting." (source: https://docs.unity.cn/Packages/com.unity.xr.interaction.toolkit@2.0/manual/interactable-events.html)
The documentation above does not mention this fact.

  1. Resolution Note (fix version 2.3.0):

    The observed behavior is actually by design, but we have added documentation regarding the specific behavior when Select Action Trigger is set to State on XR Direct Interactor and XR Ray Interactor vs the new default of State Change.

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.