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
- “Open” button in Inspector does not function for certain Assets
- Channel remapping dropdown in the Terrain Layer does not open when clicked on the title
- The Editor freezes indefinitely when a large number of elements are entered in the Subgraphs or Categories lists
- Some Visual Effects package Assets links to documentation are not working
- Heatmap asset’s documentation button in the Inspector window leads to “Sorry... that page seems to be missing!” page when clicked
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.