Search Issue Tracker
Fixed
Fixed in 2.3.0
Votes
0
Found in [Package]
2.1.0-pre.1
Issue ID
XRIT-35
Regression
No
[XRIT] HoverEntered/HoverExited of the interactable is outputted if DirectInteractor is not hovering over it
Steps to reproduce:
1. Open the attached user's project "XRInteractionToolkitDirectInteractorBugReport.zip"
2. Open a scene "BugReport_DirectInteractor_OnHoverEntered" and enter Play Mode
3. Move DirectInteractor (Sphere) onto an interactable (Cube)
4. Deactivate the "DirectInteractor" GameObject
5. Move "DirectInteractor" GameObject away from the interactable (Cube)
6. Activate the "DirectInteractor" GameObject
Expected results: HoverEntered/HoverExited of the interactable is not outputted if DirectInteractor is not hovering over it
Actual Results: HoverEntered/HoverExited of the interactable is outputted if DirectInteractor is not hovering over it (see attached video "Repro.mp4")
Reproducible on: XRIT 2.0.0 - 2.1.1 (2020.3.37f1, 2021.3.8f1, 2022.1.13f1, 2022.2.0b6, 2023.1.0a8)
Could not test below XRIT 2.0.0 due to package errors when downgrading
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- “[Worker0] Could not generate preview image“ error when opening macOS native plugin in the Inspector with Architecture to build for set to ARM 64-bit
- [iOS] Application.absoluteURL is empty on Awake/Start when opening via deep link with Splash Screen disabled
- Crash on MemoryManager::Deallocate when rapidly calling Addressables.LoadAssetAsync
- Crash on physx::shdfnd::atomicIncrement when adjusting values on a character controller component after entering Play mode in Prefab edit mode
- [Rendering Debugger] [NewInputSystem] Debug Overlays in Play mode throws InvalidOperationException when using New Input System
Resolution Note (fix version 2.3.0):
We ended up finding a couple of issues leading to the behavior found in the ticket. We fixed a potential invalid stayed colliders list in XRDirectInteractor and XRSocketInteractor when the interactor is disabled while in contact with a collider. We also fixed hover and select events being incorrectly fired when an XRDirectInteractor or XRSocketInteractor GameObject (or component) is disabled while in contact with an interactable, moved away from the interactable, and then enabled again. Finally, we changed GetValidTargets on each interactor type to return an empty list when the interactor is disabled, hopefully preventing this from occurring.