Search Issue Tracker
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
- Input field does not update when selecting the same input field after previous input was canceled
- No warning thrown when modifying array size while editing multiple objects
- Root Motion Node option does not revert when changing the selection and clicking "Revert" in Inspector
- VFX Graph prefabs are not fully instanced when they are instantiated via a script
- All 2026-promoted builds incorrectly display outdated copyright year © 2025 instead of © 2026
Resolution Note:
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.