Search Issue Tracker
Fixed
Fixed in 2.5.3
Votes
2
Found in [Package]
2.5.2
Issue ID
XRIT-115
Regression
No
Poke interactor blocks other interactors when a UI button gets disabled while being poked
My xr rig uses poke, direct, ray and teleport interactors in that priority order. When I'm poking a UI button and the UI gets disabled while being poked, all other interactors become unusable. I can't grab, raycst to or teleport until I poke another UI element.
To sum it up, it looks like the poke interaction is left unresolved when the UI gets disabled.
Disabling/renabling the poke interactor doesn't solve the issue.
XR Interaction Toolkit v 2.5.2
OpenXR plugin v 1.8.2
Unity version 2022.3.10
Reported by forum post
Bug - Poke interactor blocks other interactors when a UI button gets disabled while being poked - Unity Forum
Comments (2)
-
njwpsu
Mar 19, 2024 15:42
I was wrong - line 205 is not the problem.
The issue is the 'TrackedDeviceRayster.ValidatePokeInteractionData()' method does not check 's_PokeHoverRaycasters' for poke interactors that are hovering inactive graphic raycasters.
-
njwpsu
Mar 15, 2024 17:53
The issue still exists for UI that is disabled while being *hovered* by the poke interactor. TrackedDeviceRaycaster.cs - line 205 needs to be removed
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
- Project Auditor suggests to update package to a lower version than installed when the recommended package version is not the latest version
- Low performance when multiple meshes using BlendShape are rendered on screen
- TMP Dropdown visually corrupts or disappears when its own GameObject is assigned to "Caption Image" or "Placeholder" elements
- Usymtool tries to upload GameAssembly.pdb when it doesn't exist after building with Mono backend
- “NullReferenceException” error thrown in the Console when running HDRP Wizard “Fix All” in URP project after installing HDRP Package
Resolution Note (fix version 2.5.3):
Fixed XRPokeInteractor and TrackedGraphicRaycaster to ensure poke interactor data is cleared when the UI element with a poke interaction is disabled.