Unity 6 Meta Core SDK Workaround

With the release of Unity 6, we’ve identified a regression where Meta Quest developers may experience a lack of input registration and headlocking when playing in editor, if their projects are using the Unity OculusXR Plugin (com.unity.xr.oculus) along with the current Meta XR Core SDK package releases. We’re working with Meta to resolve this issue promptly in the next patch release of the Meta XR Core SDK package. Please update this through the Unity Package Manager when it becomes available.

In the meantime, we are providing the following workaround that resolves this issue.

  1. Open a new or existing project with the Meta XR Core SDK package installed.
  2. Navigate to the project Asset folder and locate the folder containing OVRPlugin.dll, along with the OVRPlugin.dll.meta file.
  3. Replace OVRPlugin.dll.meta with the attached file.
  4. Restart the project and the observed issues will be resolved.

Let us know if you have any further questions in this thread.

7 Likes

I couldn’t find that file in my Asset folder, I did find it here:

…\Library\PackageCache\com.meta.xr.sdk.core\Plugins\Win64OpenXR\

But that’s only for the Windows build, I have the problem on the Meta Quest build is there a fix for OVRPlugin.aar.meta as well?

2 Likes

Hello, thank you for flagging. Please submit a bug ticket as headlocking on builds could occur due to a myriad of reasons, including project configurations.

Hey guys, I confirm this worked for me, even with Oculus plugin, no need to change to OpenXR plugin.

Note that you will find two dll meta’s in your root folder, the one you wanna change is in the Win64OpenXR folder. Change it while the app is running, hit save, quit editor, restart editor and go into quest link and you will see both head and hand tracking works as intended.

1 Like

That was really helpful. Thank you!

I followed the above instructions and now I get the following errors when playing in the editor and my head is still locked. I am not sure why this is not mentioned, but the headlock is not only in the Editor, but it is in the Quest via a build as well both before and after updating the OVRPlugin.dll.meta file. I have 3 copies of the OVRPlugin.dll file in my project (see attached), so unsure why it cannot find them.

Couldn’t locate OVRPlugin.dll
UnityEngine.Debug:LogError (object)
Unity.XR.Oculus.OculusLoader:EditorLoadOVRPlugin () (at ./Library/PackageCache/com.unity.xr.oculus/Runtime/OculusLoader.cs:288)
UnityEditor.EditorAssemblies:ProcessInitializeOnLoadMethodAttributes ()

DllNotFoundException: OVRPlugin assembly: type: member:(null)
OVRPlugin.get_initialized () (at ./Library/PackageCache/com.meta.xr.sdk.core/Scripts/OVRPlugin.cs:3355)
OVRManager.Awake () (at ./Library/PackageCache/com.meta.xr.sdk.core/Scripts/OVRManager.cs:2381)

Can Meta please let us know when the fix is coming because of as now, the last 4 versions of Unity 6, 22f1, 23f1 and 24f1 and now 25f1 are all broken with the Oculus XR Plug in. Further the Meta Avatars do not appear in the Quest with the Open XR Plugin with the Meta Quest support enabled yet they do in the Editor. Open XR is at least not head locked at least. Have to ask…what is going on with QA at Meta and Unity? These bugs are rather obvious showstoppers and I would have thought they would have been caught before publishing.

Hello @IsaacsUnity. I tried replacing OVRPlugin.dll.meta and as others have noted, things are not lining up with your instructions. First…the OVRPlugin no longer lives in the Assets folder since Meta went the package route nearly a year ago. The current Meta XR All-in-One SDK 69.0.1 puts all the files in your Packages folders. When I search for OVRPlugin.dll.meta in my project, I get these results all in Packages [https://communityforums.atmeta.com/t5/image/serverpage/image-id/87980i0740886ABCDBC68C/].

Upon replacing the OVRPlugin.dll.meta file in these location I get this error when I go to build.

Multiple plugins with the same name ‘ovrplugin’ (found at ‘Packages/com.unity.xr.oculus/Runtime/x64/OVRPlugin.dll’ and ‘Packages/com.meta.xr.sdk.core/Plugins/Win64OpenXR/OVRPlugin.dll’). That means one or more plugins are set to be compatible with Editor. Only one plugin at the time can be used by Editor.
UnityEditor.AssetDatabase:Refresh ()
Oculus.Avatar2.SampleAssetsIncluder:RefreshAfterCleanUp () (at ./Library/PackageCache/com.meta.xr.sdk.avatars/Editor/Scripts/SampleAssetsIncluder.cs:120)
UnityEditor.EditorApplication:Internal_CallUpdateFunctions ()

I tried updating one and not the other, deleting one of the locations and not the other so that I only had 1 in my project and no matter what, I could not build after updating OVRPlugin.dll.meta. Further, playing in the Editor did not fix the headlocking issue either. All around I am confused why I am getting such different results than you seem to be. Can you please comment and let us know what is going on please.

I am using Unity 6000.0.25f1 with Meta XR All-in-One SDK 69.0.1 and XR Origin versus OVR Rig. OVR Rig worked just fine before the patch so I assume these instructions were for XR Origins?

Thanks so much

I think there’s similar problem with the OVRlipsync plugin, can you plese tell a workarour for that too ?
it constantly shows the error dllnotfound, i use a mac

Thank you for the discussions here. Please note that as of 6000.0.25f1, we’ve landed changes in the Unity Editor that allow for the default OVRPlugin.dll.meta file to be compatible, resolving the headlock issues by default for Unity 6000.0.25f1 and newer.

You can also continue using the revised OVRPlugin.dll.meta if you’ve already replaced the file.

For any further issues regarding headlock, please create a bug ticket so we can triage them as part of the bug management process.

I’m having an issue with Core SDK 71 and Open XR in Unity 2022.3.55f1 and Unity 6000.0.33f1 - there’s no controller input in play mode - is it possibly related? I believe this is reproducable by using the unity VR Core template, adding the core SDK 71 package, accepting all of the suggested fixes in the meta settings validator, and running play

Actually all core SDK versions after 67 appear to me to have this issue

I have encountered the same issue and what worked was to reset OpenXR by deleting the Khronos registry key under HKEY_LOCAL_MACHINE\SOFTWARE\Khronos, then restarting everything. At that point, Meta Quest Link will ask you to set Oculus back as the OpenXR runtime. From then on, I had hand tracking back via Link in the Unity editor.