Forum Discussion
guilmer83
2 years agoExplorer
Enabling Meta XR Feature Group in OpenXR breaks controller tracking
Using Unity 2022.3.4f1 LTS with the updated packages for OpenXR (1.8.1) and Oculus XR Plugin (4.0.0) and v54.1 of the Oculus Integration SDK, enabling the `Meta XR feature group` under XR Plug-in Management/OpenXR completely stops the controllers from tracking.
The controllers are not visible in the Analysis/XR Interaction Debugger/Input Devices and no device connection events are raised from InputDevices. Disabling the Meta XR feature group fixes the behaviour.
I have tried earlier versions of the integration SDK but anything < v53 yields a compile error with the new OpenXR and Oculus plugins. Is this a known issue?
21 Replies
Replies have been turned off for this discussion
- lufinkeyProtege
I'm going ahead and linking the other issue here for helpfulness:
https://communityforums.atmeta.com/t5/Unity-VR-Development/Controllers-not-tracking-in-Quest-build/td-p/1062310 - guilmer83Explorer
While on the topic. Is there a way to disable the incredibly annoying prompt to turn the meta features back on, that appears every time I hit play? Other than deleting the MetaXRFeatureEnabler.cs file?
- rnzHonored Guest
Not too sure if it's the same problem but I am using OpenXR 1.7.0, NO Oculus XR Plugin added in my Unity project and NO Oculus Integration. If I run my project with Meta XR, my controllers are not detected either in the XR Interaction Debugger. If I run without Meta XR, it is fine and I get the annoying popup you are talking about.
I am using an Oculus Rift CV1.
- demonixisMHCP Partner
Any update on this? I've the same issue with v56 and Unity 2023.1
- guilmer83Explorer
For anyone interested, I've found this online https://forum.unity.com/threads/bug-need-help-quest-2-controllers-not-working-with-interaction-toolkit.1459705/ that point to Unity's XR interaction toolkit version 2.4.0 having a bug with multiple controller interaction profiles.
So using OpenXR on an Android build with Meta Quest support enabled running on XR Interaction Toolkit 2.4.0 I was able to replicate the bug: having a single Oculus Touch Controller Profile has the controllers working, but adding a second profile for Quest Pro breaks it. It's not a fix but it's a start.
- jamiedkellyHonored Guest
That did it! Thanks.
- juansueroroboticsExplorer
ive grown wiser since this post... now what i feel i would love to see if i can do is do OpenXR but use Oculus integration just the higher level constructs for interactivity. i have no idea how to do that
- semateosHonored Guest
Having the same issue with Unity 2022.3.8f1, Oculus Integration 56, Open XR 1.8.2, Oculus XR Plugin 4.0.0 - controllers don't track unless I disable the Meta Features Group in Open XR settings. Which seems less than ideal.
- juansueroroboticsExplorer
You have to ask yourself what are you really trying to accomplish. The occulus XR pluging is not OpenXR and OpenXR is OpenXR. If you want to do OpenXR then you choose OpenXR and add meta quest support. If you want to go direct Occulus XR thats implicit.. meta quest support is redundant at that point. Take a look at the OpenXR architecture diagram.. youll see what i mean
your either making an application thats just intended to run on occulus headsets
or your making an application thats intended to run on multiple headsets.
if you you sure about what you are doing and you intend for this program to run on occulus and other headsets well then pick openxr and add meta quest support. if not then not.
- cedric.tatangeloExplorer
I have checked as well that adding the Oculus Integration plugin v56, everything was working fine without it, added this plugin for passthrough support and now, when meta feature group is active, controllers are not tracked.
Easy to reproduce, create a unity 3d URP project, activate openXR, download XR interaction toolkit, download XR hands, download XR Interaction toolkit hand sample and run this sample demo scene (eventually migrate materials for urp). Everything is working, then add Oculus Integration plugin, it will activate Meta features by default, run the same sample, controllers are not working anymore. Uncheck meta feature, then controllers are tracked.
- guilmer83Explorer
You don't need the meta feature group to enable passthrough: https://blog.unity.com/engine-platform/get-started-developing-for-quest-3-with-unity Unity made an AR foundation package for Meta headsets that works without using the Meta feature group.
- cedric.tatangeloExplorer
Wow excellent! you made my day!
- guilmer83Explorer
Just keeping this thread alive as this is still an issue.
More details now:
Making a Unity OpenXR PCVR App that is compatible with both SteamVR and Oculus runtime environments. The app has both a VR and desktop display. When using any Quest headset with Quest Link/Oculus Runtime and Open XR in Unity, if I take the headset off for a few seconds, the console/logs are spammed by "XRStats::SetStatFloat failed. Stats queue full! Stats for this frame will be lost."
No idea where it's from, Valve Index/SteamVR doesn't do this, no more information in the Logs/stacks. Just ~10 of these warnings per frame. Tried disabling the XRDisplay and XRInput subsystems, deleted literally everything in my scene,... warnings still occur if the display goes idle.
The only way I figured I can get rid of them is by enabling the Meta Feature Group. Which STILL breaks controller tracking. Anyone has had any success with this?
- RaptorMattExpert Protege
I am having the same issue with the Meta SDK v62. If I am using OpenXR and enable the "Meta XR feature group", then this breaks input for the touch controllers. If I disable the "Meta XR feature group" then 2 annoying dialog boxes show up telling me to enable the feature group each time the editor is opened and each time you enter playmode. Is there any way to suppress the warning? The Meta SDK is in the packages folder so I don't believe I can modify it without those changes getting wiped out of the package cache refreshes itself.
- KenLinHonored Guest
Search "MetaXRFeatureEnabler.cs" file,
private static void EnableMetaXRFeature() { return; //Add this line EditorApplication.update -= EnableMetaXRFeature; bool unityRunningInBatchmode = false;
Quick Links
- Horizon Developer Support
- Quest User Forums
- Troubleshooting Forum for problems with a game or app
- Quest Support for problems with your device
Other Meta Support
Related Content
- 2 years ago