Search Issue Tracker

In Progress

Fix In Review for 2.6.4, 3.0.6

Votes

13

Found in [Package]

2.5.2

Issue ID

XRIT-99

Regression

No

Unable to press buttons with XR Poke Interactor when a sub canvas is blocking them

Package: XR Interaction Toolkit

-

Reproduction steps:

1. Open the attached project "UI_Tests_Poke.zip"
2. Open Assets > “UI tests” scene
3. In the Hierarchy enable “Canvas” > “Canvas Inherit”
4. Enter Play mode
5. In the Hierarchy select “Poke Interactor”
6. In the Scene view use the “Poke Interactor” to press the buttons

Expected result: “Button Inherit Canvas” can be pressed
Actual result: “Button Inherit Canvas” can’t be pressed

Reproduced with: 2021.3.32f1, 2022.3.14f1, 2023.1.20f1, 2023.2.1f1, 2023.3.0a15

Reproducible on: Windows 10
Not reproducible on: No other environment tested

Notes: It is possible to press buttons using the mouse

  1. Resolution Note (fix version 3.0.6):

    This fixes an issue with sorting of the canvas sort order and graphic depth properties. There was 2 issues happening here. The original fix was supposed to compare canvases up the chain to make sure drop-downs worked correctly. The fix assumed the blocking sub-canvas sorting order was always obeyed, but did not consider additional depth, so it would early out. This fix removes the original workaround and allows all raycast results comparing from the TrackedDeviceGraphicsRaycasters, but does an additional priority sort against the canvas sortOrder first before comparing depth.

  2. Resolution Note (fix version 2.6.4):

    This fixes an issue with sorting of the canvas sort order and graphic depth properties. There was 2 issues happening here. The original fix was supposed to compare canvases up the chain to make sure drop-downs worked correctly. The fix assumed the blocking sub-canvas sorting order was always obeyed, but did not consider additional depth, so it would early out. This fix removes the original workaround and allows all raycast results comparing from the TrackedDeviceGraphicsRaycasters, but does an additional priority sort against the canvas sortOrder first before comparing depth.

Comments (7)

  1. ruben-ivre

    Jun 25, 2024 13:04

    We (myself and the company I work for, Engage) found a potential fix for this, by making some changes to TrackedDeviceGraphicRaycaster.s_InteractorRaycasters, converting it into a HashSet instead of a single reference to a raycaster. So far the results has been good, but not sure if this could have other side effects, so take it under your own responsibility.

    https://gist.github.com/ruben-ivre/2808f2fe5a013ce9180dd056902d32e6

  2. rgarand64

    Jan 20, 2024 00:19

    As of version 2021.3.24f1, XRIT 2.3.2: UI poking stops working randomly when two active canvas are too close.

  3. PaoloPV

    Jan 04, 2024 16:58

    One of the interactions that Apple is going to introduce to Apple Vision Pro is being able to interact with your fingers like Poking. It's really a shame that we wont be able to have this on other devices alongside because of this bug, please fix it....please....

  4. djrodriguez

    Jan 04, 2024 13:12

    I need this. Can't poke.

  5. ericprovencher

    Jan 03, 2024 22:51

    Thanks for all the concern. It’s on our radar, unfortunately still no eta for the fix however.

  6. davegreco

    Jan 03, 2024 22:33

    Well, it's that time of the year again. You know, moment where you're so close to launching a new feature only to realize that there is a bug in unity preventing you from doing what you need to or preventing it from working everywhere. (Cross-platform who?) ...oh shoot it's only January 3rd...well if we're lucky it will be fixed in the next release, or before the end of the new year, or maybe never... 🥹 here's to dreaming 🤞

  7. trevor-hzd

    Jan 03, 2024 22:27

    It would be very helpful if you could fix this!

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.