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
- Warning of an unknown Script missing is logged when selecting VFX in Play Mode
- Vertical and horizontal scrollbars appear and disappear when dragging an attribute to a different position within the Shader Graph Hierarchy
- AudioSource.PlayDelayed() does not work with Audio Random Containers
- Compatible with the VFX Graph Shader Graph can't be dragged and dropped into the "Output" block from the Project window
- [Silicon] Freeze/crash on BrotliDecoderDecompressStream when using System.IO.Compression.BrotliDecoder.TryDecompress
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.