OpenXR Development
Recently active
Hello,I've tried to launch the hello_xr example from OpenXR-Source-SDK with OpenGL backend. There is the (shortened) output:$ XR_RUNTIME_JSON=/d/meta_xr_simulator/meta_openxr_simulator.json ./hello_xr.exe -G OpenGL [12:03:20.094][Info ] Press any key to shutdown... [Meta XR Simulator][00000.003322][V][arvr\projects\openxr_simulator\src\sim_configurationregistry.cpp:31] Initializing configuration man ager [Meta XR Simulator][00000.003511][I][arvr\projects\openxr_simulator\src\sim_configurationregistry.cpp:43] Configuration path not set, de fault value will be used: D:\meta_xr_simulator\config\sim_core_configuration.json [Meta XR Simulator][00000.003831][I][arvr\projects\openxr_simulator\src\sim_configurationregistry.cpp:148] Persistent Data loaded from " C:\Users\adik\AppData\Roaming\MetaXR\MetaXrSimulator\persistent_data.json" [Meta XR Simulator][00000.004080][I][arvr\projects\openxr_simulator\src\sim_configurationregistry.cpp:179] Configuration loaded from "D: \meta_xr_simulator\con
Device: Quest 3I have to run an experiment for my project that requires me to assign a participant an avatar from a list of avatars. Once the participant selects an avatar from the list, the full body avatar should appear in front of them from a third-person perspective (3PP), and they should also be able to see the avatar's hands superimposed on their own (1PP, this is important). Both the 3PP and 1PP avatars should mimic the user's hand and head movements.So far, the existing MirrorScene is working for me with Passthrough and a Grab cube interaction. https://developers.meta.com/horizon/documentation/unity/meta-avatars-samples#mirror-scene . I can see the avatar in 1PP and 3PP. I need to know how I can swap out this avatar for another. I believe the current avatar is a fallback avatar.MirrorScene with PassthroughNOTE: I want to use the existing presets available for Quest. There are 33 preset avatars labelled as 0_quest, 1_quest...32_quest.
I'm on Oculus beta branch and yesterday's update has broken compatibility of the OpenXR Toolkit with many games. Have had to revert back to previous version.
I want to develop an OpenXR project in VRED 2026 and need to use a MetaQuest 3 headset. I checked the official VRED documentation, and it says that enabling OpenXR on Quest 3 requires Meta support. Please tell me how to do this. Thank you!
Platform: Meta Quest 3 Unity Version: 6.0.37Meta SDK Version: 76.0.0 (com.meta.xr.sdk.core) XR Backend: OpenXR Rendering: URP Issue Type: UI / Overlay behavior after suspend-resume cycle :question_mark:Problem: I'm using `OVROverlayCanvas` to render a UI overlay in VR, which works fine initially. However, after the user **suspends the device (sleep mode) and resumes**, the overlay behaves incorrectly: - The UI appears to **move with the user’s view** or “sticks to the face”.- Even though the canvas GameObject retains its original transform, the overlay seems to be rendered in a wrong reference frame. --- :white_heavy_check_mark: What I’ve already tried: - Called `SetFrameDirty()` and `UpdateOverlaySettings()` on resume (`OnApplicationFocus`, `OnApplicationPause`).- Restored original `transform.position` and `rotation`.- Avoided `SetActive(false)`.- Reparented temporarily to force matr
I've developed an application named "mirror_ball" for Quest/Quest 2 using the Oculus SDK and NDK. When I run it from the Android Studio debugger (click the right pointing green arrow) all I see on the headset is a black screen with 3 white dots. When I look at the Logcat output, I see the following near the end:01-18 18:03:09.425 4986 5020 E mirror_ball: [18:03:09.425][Error ] VkResult failure [-13]01-18 18:03:09.425 4986 5020 E mirror_ball: Origin: vkCreateGraphicsPipelines(m_vkDevice, VK_NULL_HANDLE, 1, &pipeInfo, nullptr, &pipe)01-18 18:03:09.425 4986 5020 E mirror_ball: Source: ../../../../graphicsplugin_vulkan.cpp:959A VkResult value of -13 according to vulkan_core.h equates to VK_ERROR_UNKNOWN.According to the Khronos vulkan specification this is not a valid return code from this function. From https://registry.khronos.org/vulkan/specs/1.3-extensions/man/html/vkCreateGraphicsPipelines.html:Return CodesOn success, this command returnsVK_SUCCESSVK_PIPELINE_COMPILE_REQUIRED_
Dear Meta team,please consider reintroducing the ability to manually set the refresh rate (e.g. 60 / 72 / 90 / 120 Hz) on Quest devices.This option was available until late 2023 and was extremely helpful for WebXR/WebGL development. Now, Quest 3 forces 90 Hz by default, which causes:High GPU/CPU load for low-performance appsFrame drops and stuttering in WebXRMore heat and battery drainUnnecessary complexity for clients (SideQuest setup etc.) This feature is essential for many enterprise and browser-based experiences. A simple toggle in developer settings or browser flags would already help a lot.Thank you for considering this request.
Hi everyone,I'm trying to record an animation in Unreal using the Hand Tracking of the Quest 3 and 2 as a motion capture and once recorded I need to export the animation for future use.When I record with the Take Recorder, the only things that move are the rotation and location of the Motion Controller Components.I searched for a Live Link connection but found only the tracking for body and face with Quest 2.Is there a function for recording the Skeletal Mesh movements of the hand with the Take Recorder?(I found this Post similar to my question but didn't know how to record the bone transforms.)Is there a Live Link connection for the Hand Tracking?I'm using the Meta XR plug-in and already set it for Hand Tracking only.
Hello all,I have an annoyance I need to fix.... OVRServer.... it starts with windows...will not close.... How do I stop this?!?!?!?!
i have 5 meta quest 2 each and every is casting on other pcs with same cable.but neither of them is casting on my one particular pc.on this particular i have tried everything i have reinstall the complete window.i have reinstall the drivers.i have reinstall the mqdh.i have tried each and every possible way.whenever i click on casting button in mqdh casting window is not launching.----Casting Issue Video Linkhttps://drive.google.com/drive/folders/1WBjY7PlxRA-_MCUsyzzpoly3Ptvu75UX?usp=sharing
Hi, We’re shipping a Unity app on Meta-OpenXR 2.1 and would like to let usersswitch from *Stationary* to *Room-Scale* without leaving the app. - `OVRBoundary.RequestBoundarySetup()` solves it on the Oculus XR Plugin path, but no equivalent exists on the OpenXR provider. Questions:1. Can you confirm there is currently no OpenXR API to invoke the “Define Play Area” wizard?2. Is Meta planning to expose a `BoundarySetup` extension in future releases?3. What workflow do you recommend to stay 100 % OpenXR (e.g. Boundary Visibility + on-screen guidance)? Thanks!
## Summary:Hello everyone, I'm a Junior Developer trying to understand what is happening here as I have never used Unreal Engine before. Somehow, there is a VR build made for Leap Motion sensors that allows me to use Oculus native hand tracking via Quest Link, but it seems that the only pc that allows this to happen is mine, while the other 5 or 6 pcs we have tried this simply just won't let the hand tracking work. ## Details:First of all, we are building VR simulators at the company I'm currently working, we mainly use Unreal Engine with Oculus and Vive for displays, and Leap Motion sensors for hand tracking. We have never build an VR app with Unreal Engine that uses Meta's native hand tracking, I was testing a Build that only has the Ultraleap Tracking Plugin version 4.11.0 And then somehow, I was able to use the hand tracking from a Meta Quest 3 headset without connecting a Leap Motion sensor. My coworkers claim that this has never worked before for
Hi, I want to try how to write a VR APP with OpenXR SDK.I found Oculus had published OpenXR Mobile SDK:Actually, I don't know how to build hello_xr sample in OpenXR SDK for Android version.Does anyone know how to build this sample with Oculus OpenXR Mobile SDK?I appreciate your help.
Previously we were using the Oculus XR Plugin with OVRSpatialAnchors and passthrough and all was working as intended. We needed to switch from the Oculus XR Plugin to OpenXR (for a separate package) and managed to get everything working except for when we put an OVRSpatialAnchor on a model with passthrough active, the model appears to be very wobbly compared to it's intended stable state. Once the spatial anchor has been removed off the model it appears much more stable but obviously doesn't have the other characteristics of having a spatial anchor that we need.Does anyone know how to fix this? I saw this post with a similar issue and I updated the AndroidManifest.xml via the Oculus tools menu but that did not seem to fix it.Potentially relevant details:Unity 2020.3.36MRTK v2.7.2OpenXR plugin v1.5.3Oculus XR plugin v1.12.0Oculus Integration v53.1Minimum Android API Level: Android 10 (API level 29)OpenXR settings:Render mode:&n
Hi,I'm using PCVR with a Meta Quest 3 in Unreal Engine 5.4, fully utilizing OpenXR.It seems that the recenter event (XR_TYPE_EVENT_DATA_REFERENCE_SPACE_CHANGE_PENDING) is triggered when resetting the view from the Oculus Link menu using the controllers. However, it does not fire when performing the recenter gesture with the right hand.My goal is to prevent recentering, as I need to align the virtual space with the physical space. If a user accidentally triggers recentering, it disrupts my alignment.Does anyone know if there's a way to detect or block the recenter gesture?
We have members of our DevTech team prepared to help support developers who are going through the process of migrating from the Oculus XR Plugin to the OpenXR Plugin! If you're having issues, we encourage you to post them directly the the Feedback Hub tool in the Meta Quest Developer Hub, under Developer Tools > Oculus XR Plugin to OpenXR Plugin Migration. Feel free to let us know here if you have any trouble with the submission process, but if you're looking for assistance with migration that's the place to reach out!
I'm trying to port a game engine from supporting PC VR to Quest. The app has to start out as 2D then transition to 3D when ready to run.When I use 2D only (hence AndroidManifest Intent group "android.intent.category.LAUNCHER", "com.oculus.intent.category.DEFAULT" and "com.oculus.intent.category.2D") then I can create an OpenXR instance and it transitions from Idle over Ready to Synchronized and I see something rendered in 2D panel mode only.When I use though VR mode (hence AndroidManigest Intent group "android.intent.category.DEFAULT", "com.oculus.intent.category.VR" and "org.khronos.openxr.intent.category.IMMERSIVE_HMD") then the created OpenXR instance only transitions to Idle but never to Ready nor Synchronized. This of course dead-locks the application since according to OpenXR you can not start rendering nor interacting with OpenXR if it is not in Synchronized state.What is required to be done to start an application in VR mode AND to get OpenXR to transition to Synchronized state
I was able to build and deploy (Quest 2) hello_xr from https://github.com/KhronosGroup/OpenXR-SDK-Source using the instructions from https://developer.oculus.com/documentation/native/android/mobile-build-run-hello-xr-app/ . However, whenever I load the hello_xr project in Android Studio and open one of the cpp source files such as graphicsplugin_opengles.cpp, I get the following warning "This file does not belong to any project target; code insight features might not work properly".Any ideas on how I can get the code insight features to work?
Hi Guys, so i enabled FFR in my XR Game, i packaged it as Development if its matters. I use fixed Level 2 FFR , and i get better Perforance but in the Field where FFR steps in around the sight Things get Frozen and its Glitching. Its liek it wont Update the Area around the Eyes. (ITS ONLY IN THE LEFT EYE) What could it be?not my video!but its exactly this: https://www.youtube.com/shorts/YW5HlTvlfVUin Short; the fovea works fine but outside of it it’s glitching, like showing static objects of the Level and are not updating, left eye only.UE 5.5latest metaXr Plugin
As long as I use controllers only, I can get all the tracking data I need like this: var poseState = OVRPlugin.GetNodePoseStateAtTime(time, OVRPlugin.Node.HandRight);This way I get non-predicted controller data for position as well as velocity.The moment I enable hand-tracking, that same function will not return any velocity data anymore, only position.I can do this instead, which will get me velocity data:OVRPlugin.GetNodePoseStateRaw(OVRPlugin.Node.ControllerRight, OVRPlugin.Step.Render);but now the data is predicted. Trying GetNodePoseStateAtTime with ControllerRight instead of HandRight for the node parameter yields a NotYetImplemented error.Non-predicted velocity data only seems to be available if hand-tracking is disabled. Any advice? I guess I could calculate velocity from position deltas, but I'm wondering if the data quality would suffer. If the solution was this simple, why wouldn't GetNodePoseStateAtTime do the same internally to provide veloity data?
We are trying to build a dashboard in Meta VR for our MEV Bot Solana , but the SDK keeps crashing even though we have updated to the latest version. Nothing has helped so far.
Hello Meta, I would like to report an issue with your OpenXR runtime and Quest functionality.In my game, I rely on Body Tracking as a standard feature that's supported on all Quest headsets, but would also like to use multi-modal mode with controllers when available, in order to use Controllers (or Logitech MX Ink) at the same time as not only hand tracking, but body tracking as well. Seeing your fingers wiggle around accurately is really nice, for gestures and realism. Since hands are a part of the body, and finger joints are tracked just fine when I put the controllers down and it switches modes, I don't see why, technically, multi-modal would only work for hand tracking EXT (without body tracking) and not the full body API which includes hand tracking.I reported this issue before but was told it wasn't a good place to do it:https://github.com/facebook/igl/issues/117Is there any way we can get body tracking and controllers to work at the same time? At least on Quest 3 and p
I'm following this guide for setting my OpenXR app's refresh rate:https://developers.meta.com/horizon/documentation/native/android/mobile-display-refresh-rateWhen I query the available refresh rates like so: XrResult result = xrGetInstanceProcAddr( m_xrInstance, "xrEnumerateDisplayRefreshRatesFB", (PFN_xrVoidFunction*)(&pfnEnumerateDisplayRefreshRates)); if(result != XR_SUCCESS){ XR_TUT_LOG("Failed to query display refresh rates."); return; } uint32_t count; pfnEnumerateDisplayRefreshRates(m_session, 0, &count, NULL); float* output = new float[count]; pfnEnumerateDisplayRefreshRates(m_session, count, &count, output); for(int i=0; i < count; i++){ XR_TUT_LOG("Found supported refresh rate: " + std::to_string(output[i])); }I get back only a single value of 72. Is it no longer possible to set the refresh rate to 90/120?For
Hi guys, I'm working on a project with the Meta Quest Pro and I need to "turn off" one camera so that I can work with only the other one. Is there any way I can do that?I'm working in Unity with the Meta XR All-in-One
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.