Search Issue Tracker
Third Party Issue
Third Party Issue in 1.16.X
Votes
2
Found in [Package]
1.16.0-pre.2
Issue ID
OXRB-656
Regression
Yes
XR Interaction Toolkit XR Controllers are inverted by Y-axis when using Meta Quest 3 with OpenXR Plugin
Reproduction steps:
1. Open the attached project “ReproProject”
2. Connect a Meta Quest 3 device
3. Put on the headset
4. Enter into the Play Mode
5. Observe the results
Expected result: The virtual controllers match the physical controllers’ orientation
Actual result: The controllers are inverted in the scene
Reproducible in: 1.16.0-pre.1 (6000.0.58f2, 6000.2.6f2, 6000.3.0b4, 6000.4.0a1), 1.16.0-pre.2 (6000.0.58f2, 6000.2.6f2, 6000.3.0b4, 6000.4.0a1)
Not reproducible in: 1.15.1 (6000.0.58f2, 6000.2.6f2, 6000.3.0b4, 6000.4.0a1)
Reproducible on: Windows 11
Not reproducible on: No other environments tested
Reproducible on devices:
- Oculus Quest 3 (Quest 3), CPU: Snapdragon XR2 Gen 2 (SM8550), GPU: Adreno (TM) 740
Not reproducible on devices:
- Oculus Quest 2 (Quest 2), CPU: Snapdragon XR2, GPU: Adreno 650
Notes:
- Reproducible in Player as well
- Not reproducible with OculusXR Plugin
- The issue reproduces consistently on XR Interaction Toolkit versions 2.5.2 - 3.3.0-pre.1
- The issue reproduces consistently in a new project. To reproduce, it is simply enough to create a new project from a VR template to speed up the set up process. Make sure, that OpenXR version is at least 1.16.0-pre.1. Enter into the Play Mode with headset on, look at the controllers
Comments (6)
-
eusebium
Dec 26, 2025 17:26
Unfortunately, the workaround does not work - tested on Unity 6000.3 LTS, OpenXR 1.16.1, Meta XR Core SDK v81 & v83.
The only workarounds are:
1. disable Meta XR & Features
2. downgrade to Meta XR Core SDK v78 or earlier. -
NickAtLnW
Dec 15, 2025 20:53
*In my best professor voice*: Good new everyone, someone at Unity swallowed their pride, and as of OpenXR Plugin (com.unity.xr.openxr) version 1.16.1, changed the OpenXR loader version to 1.1.53, effectively doing internally what the suggested workaround script was doing. The work around is no longer needed. Happy days.
-
cyb2233
Dec 02, 2025 01:54
I’ve successfully pinpointed the issue to the Unity OpenXR Meta package. Both versions 2.2.0 and 2.3.0 have this problem, but rolling back to version 2.1.1 fixes it. I hope this helps others resolve it as well.
-
Wolfina2
Nov 27, 2025 21:42
Workaround caused more issues for me, i just used package manager to downgrade the packages, but make sure to also downgrade the android openxr package.
Version 1.15.1 for OpenXR and version 1.0.1 for OpenXR androidXR, then restart unity -
ammars26
Nov 26, 2025 06:07
Its not a third party issue. Its Unity XRI is not fully compatible with new OpenXR version
-
AlanCDev
Nov 17, 2025 11:13
Issue present in Unity 6000.0.58f2 with Open XR 1.15.1
Updated to Open XR 1.16.0 and this fix doesn't work.
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
- [Tile Palette] Sprites not rendering when brush tool "Paint a filled box with active brush" is used for the first time
- Adding available Nodes with longer names in Fragment Context window overflow Fragment Context window in Shader Graph
- "Layer Palette Profile" Asset is automatically applied to the second Terrain but doesn't load any layers
- "Terrain Tools" shortcut conflicts with the Overlays shortcut by default
- Longer Shader Graph Property Reference names breaks VFX Graph Output Particle Node
Resolution Note:
Known issue related to OpenXR API version. users can unblock themselves by using our TargetOpenXRApiVersion to set it to 1.1.53 for Quest 3 and 3S platforms.
https://docs.unity3d.com/Packages/com.unity.xr.openxr@1.16/api/UnityEditor.XR.OpenXR.Features.OpenXRFeatureAttribute.html#UnityEditor_XR_OpenXR_Features_OpenXRFeatureAttribute_TargetOpenXRApiVersion
Sample Script:
```
using UnityEngine.XR.OpenXR.Features;
using UnityEditor;
using UnityEditor.XR.OpenXR.Features;
[OpenXRFeature(
TargetOpenXRApiVersion = "1.1.53",
UiName = "Workaround for issue OXRB-656",
BuildTargetGroups = new[] { BuildTargetGroup.Android, BuildTargetGroup.Standalone },
DocumentationLink = "https://issuetracker.unity3d.com/issues/xr-interaction-toolkit-xr-controllers-are-inverted-by-y-axis-when-using-meta-quest-3-with-openxr-plugin")
]
public class WorkaroundForOXRB656 : OpenXRFeature { }
```
Resolution Note (1.16.X):
Known issue related to OpenXR API version. users can unblock themselves by using our TargetOpenXRApiVersion to set it to 1.1.53 for Quest 3 and 3S platforms.
https://docs.unity3d.com/Packages/com.unity.xr.openxr@1.16/api/UnityEditor.XR.OpenXR.Features.OpenXRFeatureAttribute.html#UnityEditor_XR_OpenXR_Features_OpenXRFeatureAttribute_TargetOpenXRApiVersion
Sample Script:
```
using UnityEngine.XR.OpenXR.Features;
using UnityEditor;
using UnityEditor.XR.OpenXR.Features;
[OpenXRFeature(
TargetOpenXRApiVersion = "1.1.53",
UiName = "Workaround for issue OXRB-656",
BuildTargetGroups = new[] { BuildTargetGroup.Android, BuildTargetGroup.Standalone },
DocumentationLink = "https://issuetracker.unity3d.com/issues/xr-interaction-toolkit-xr-controllers-are-inverted-by-y-axis-when-using-meta-quest-3-with-openxr-plugin")
]
public class WorkaroundForOXRB656 : OpenXRFeature { }
```