Search Issue Tracker
By Design
Votes
1
Found in
6000.0.54f1
6000.1.12f1
6000.2.0b10
6000.3.0a2
Issue ID
UUM-112597
Regression
No
PanelSettings.SetScreenToPanelSpaceFunction is not triggered on the VR controller input when the mouse is stationary
How to reproduce:
1. Open the attached project “IN-104575”
2. Enter the Play mode (do not move the mouse in the Play mode)
3. Point the right hand trigger towards any Button
Expected result: The Button becomes purple and PanelSettings.SetScreenToPanelSpaceFunction triggers on VR controller input
Actual result: The Button stays the same color and PanelSettings.SetScreenToPanelSpaceFunction does not trigger on VR controller input
Reproducible with: 6000.0.54f1, 6000.1.12f1, 6000.2.0b10, 6000.3.0a2
Could not test with: 2023.1.0a1 (OpenXR Package error)
Reproducible on: Windows 11 Enterprise
Not reproducible on: No other environments tested
Reproducible on device: Oculus Quest 2 (Quest 2), CPU: Snapdragon XR2, GPU: Adreno 650
Workaround:
Keep moving the mouse while doing step 3
Comments (1)
-
Drumsmasher17
Aug 18, 2025 18:36
Hi, our project does use world space UI, we don’t have any screen-space UI. The repro project/video shows what we’re trying to do. I want to make it clear, we are trying to have a world-space pointer, work on a world-space quad, which has the UITK RT on it. This is literally the example given in the docs for SetScreenToPanelSpaceFunction.
I don’t think anything in our original report suggests that we are trying to do anything in screen space. SetScreenToPanelSpaceFunction is the answer you get when googling about UITK world-space pointers, which is why I tried using it. Apart from the weird mouse issue and the exception, it does actually work as expected (as shown in the video).
We have released a commercial game on PC, Quest and PSVR2 using a relatively early version of XR Interaction Toolkit (1.0.0-pre.4) - which is part of the reason we were avoiding it for our next project. We’ve been working with VR for 11 years now, and XRIT wasn’t really offering enough benefit for us, compared with the complexity of adding more specific customizations.
We’ll look into it’s world-space UI implementation in a separate project and see if there’s anything we can use from it. However, based on my research, I’m dubious about the exact combination of UITK + New Input System + XR/World-pointers.
Are you able to confirm that this is a combination that currently has a functioning workflow?
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
- var VisionOSEDRHeadromm has a comma instead of a dot when building with Metal Rendering App Mode and local OS localization is set to German
- IAP Catalog remove product “x” and add product “+” buttons are not consistent with other remove and add buttons in the Editor
- Performance issues in Play Mode when quickly hovering the mouse cursor over Hierarchy GameObjects
- Frame Debugger displays incorrect output when FidelityFX Super Resolution or Spatial-Temporal Upscaler is used with Temporal Anti-aliasing or Subpixel Morphological Anti-aliasing
- The layout system is failing to correctly calculate or apply the height of the Japanese fallback font when the primary English font's metrics are used
Resolution Note:
The reported issue arises from attempting to use a method designed for transforming coordinates from screen to panel space (ScreenToPanel) in a VR context. As the method name implies, it is intended for scenarios with a single screen, such as standard desktop or mobile applications, where mapping from screen coordinates to panel coordinates is straightforward.
In VR, however, things get a bit more complex regarding UI. While it is possible to create a screen-space UI in VR, the static positioning of the UI from it being in screen-space conflicts with the ever-changing motion of where the end user is looking at the time (especially on headsets that support passthrough, or render on otherwise transparent displays), which can be jarring and even cause nausea for end users in VR. As such, we recommend creating your UI for VR in world space instead - for information on how to do that, see this documentation: https://docs.unity3d.com/Packages/com.unity.ugui@1.0/manual/HOWTO-UIWorldSpace.html.
We noticed your repro project does not use the XR Interaction Toolkit (https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@3.0/manual/index.html). One of the things it provides is help with using VR controllers (and hands, if the platform supports hand-tracking) to interact with UI. If you haven't yet, we recommend importing that package and any samples it provides that you're interested in - or downloading the VR template: https://docs.unity3d.com/Packages/com.unity.template.vr@9.1/manual/index.html