Reproduction steps:
1. Open the attached project "UIPokeBugRepro"
2. Go to Edit > Project settings > Project Validation and press fix on “[Oculus Quest Support] Oculus Quest Feature for Android platform is deprecated..”
3. Build and run on a Quest device
4. Try pressing both buttons
Expected result: Each button turns green after being pressed
Actual result: Only the right button turns green
Reproducible with: 2020.3.45f1, 2021.3.18f1, 2022.2.6f1, 2023.1.0b3, 2023.2.0a1
Reproducible with devices:
VLNQA00379, Oculus (Quest 2), Android 10, CPU: Snapdragon XR2, GPU: Adreno (TM) 650
Reproducible on: Windows 10 Enterprise 21H2
Notes:
- If both buttons don’t seem to work, try pressing them a couple of times. It’s quite hard to interact with them through the VR
- The issue seems to be in TrackedDeviceGraphicsRaycaster.PerformRaycasts. If the check for already interacting objects at the beginning of the function is bypassed by the sorting order difference, the "not currently interacting with anything" result for the higher priority canvas unconditionally overwrites the state for the lower priority canvas - even where it makes no sense to do so because the controller is not even close to the higher priority canvas.