Please have native support for locomotion devices
It would be great to have native support for integrating VR locomotion devices (Freeaim VR Shoes, Kat Walk, Virtuix Omni, Natural Locomotion, etc.) similar to how it works with SteamVR. In SteamVR, we can implement our own driver that will translate movement from the device to joystick commands. SteamVR loads the driver and then forwards the joystick commands. We can also retrieve useful information from the headset via the driver and send it to the device, such as HMD position and orientation. Currently, to support a locomotion device on the Meta Quest, game developers have to integrate support. This isn't scalable and is a lot more work than if the locomotion manufacturer could just implement a driver/plugin/background process that works for all games that have locomotion.51Views0likes1Comment3D model of the room
I started developing for Quest3 but I'm stuck and not making much progress... So far, I've got pass-through working and added collision detection to the scanned room model. Next, I want to bring the scanned 3D model into a Unity scene so I can edit it, but I'm stuck because I don't know how to do it... Any ideas on how to make this work, or even a little advice, would really help.FPS Drop After Splash Screen – Quest 2/3
Hello, While preparing my VR app for Quest Store submission, I’ve encountered a consistent, measurable FPS drop right after the splash screen finishes, and I’d like to confirm whether this is a potential issue for passing the VRC.Quest.Performance checks during review. Behaviour Observed: Immediately after the splash screen disappears, FPS drops below 60 FPS (typically in the 40–50 range) for about 1 second. After that, the frame rate stabilizes at my target (72 FPS) and remains consistent for the rest of the session. The same behaviour occurs even in an empty scene containing only the XR Origin prefab. Performance test video (Unity VR Sample): Test Environment: Unity Version: 6000.0.55f1 XR Setup: OpenXR with Meta XR Plugin (default configuration) Devices Tested: Quest 2, Quest 3s and Quest 3 Measurement Tool: OVR Metrics Tool (FPS graph) Questions: Will this short FPS dip fail the VRC.Quest.Performance check during store review? Does Meta QA measure from application process start or after the splash screen transition? Are there recommended best practices for masking or eliminating this drop? Thanks in advance for clarifying how this behaviour is evaluated in terms of Oculus Store performance requirements.40Views1like1CommentMeta XR Simulator does not support OpenGL, while SDK does
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\config\sim_core_configuration.json" [Meta XR Simulator][00000.004275][I][arvr\projects\openxr_simulator\src\logs\sim_logs_service.cpp:150] Saving log to 'C:\Users\adik\AppD ata\Roaming\MetaXR\MetaXrSimulator\logs\meta_xrsim.log' 16/08 12:03:20.100 {DEBUG} [AnalyticsLifeTime] Pre initialization finished. 16/08 12:03:20.100 {DEBUG} [AnalyticsLifeTime] Post-migration initialization finished. % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 29 0 29 0 0 189 0 --:--:-- --:--:-- --:--:-- 190 [Meta XR Simulator][00000.192175][I][V][arvr\projects\openxr_simulator\src\interface\sim_main.cpp:53] xrNegotiateLoaderRuntimeInterface( ): loaderInfo: minApiVer(1.0.0) maxApiVer(1.1023.4095) [Meta XR Simulator][00000.192363][I][arvr\projects\openxr_simulator\src\sim_xrapistack.cpp:134] Interop is activated. All other graphics API will be supported through the Vulkan compositor [Meta XR Simulator][00000.192504][I][arvr\projects\openxr_simulator\src\sim_xrapistack.cpp:151] Set up XrApiLayers (Product Flavor Publi c, Version 1.77.0, Batchmode 0) [Meta XR Simulator][00000.192858][I][arvr\projects\openxr_simulator\src\plugin\sim_xrapilayer_plugins.cpp:47] [XrApiLayerPlugins] Plugin s folder found: D:\meta_xr_simulator\plugins [Meta XR Simulator][00000.193052][I][arvr\projects\openxr_simulator\src\plugin\sim_xrapilayer_plugins.cpp:20] [XrApiLayerPlugins] Plugin found: InputPlugin ... [Meta XR Simulator][00000.209127][W][V][arvr\projects\openxr_simulator\src\sim_xrapistack.cpp:378] Extension XR_FB_body_tracking is not supported for device type Oculus Rift S [12:03:20.306][Info ] Available Layers: (0) Error [GENERAL | xrCreateInstance | OpenXR-Loader] : LoaderInstance::CreateInstance, no support found for requested extension: XR_KHR_op engl_enable Error [GENERAL | xrCreateInstance | OpenXR-Loader] : xrCreateInstance failed [12:03:20.307][Error ] XrResult failure [XR_ERROR_EXTENSION_NOT_PRESENT] Origin: xrCreateInstance(&createInfo, &m_instance) Source: C:\Users\adik\Downloads\OpenXR-SDK-Source\src\tests\hello_xr\openxr_program.cpp:200 [Meta XR Simulator][00000.211189][I][arvr\projects\openxr_simulator\plugins\InputPlugin\input_plugin.cpp:109] onPluginStateChange(3 -> 4 ) [Meta XR Simulator][00000.211297][I][arvr\projects\openxr_simulator\plugins\InputPlugin\input_plugin.cpp:97] InputPlugin will be deregis tered It clearly does not support XR_KHR_opengl_enable extension. This is surprising, since SDK seems to support it https://github.khronos.org/OpenXR-Inventory/extension_support.html#meta_pc D3D11 hello_xr backend works fine.Solved111Views0likes2CommentsHow to obtain the user token using the Meta XR Platform SDK
I currently need to link the player's Meta account to our game using the Unity Meta XR Platform SDK for login purposes. After passing the application permission check, the player's ID can be obtained through the Users.GetLoggedInUser() method. However, the Token cannot be obtained using the Users.GetAccessToken() method. This method always returns an empty result. Could you please tell me if I have not configured something correctly or if there is any missing step?SolvedMRUK stopped working on Android build in v77
We've been developing MR features into our app for the past 6 months and recently started testing a release candidate for Horizon Managed Services (HMS) managed headsets (enrolled with ArborXR). We ran into an issue with the Immersive Debugger causing exceptions on headsets set up using HMS/Arbor when using SDK v74. We updated to v77 which fixed the Immersive Debugger issue, but then the MR features stopped working also on headsets running "personal" accounts. It seems like the MRUK is not creating the rooms in the scene, and thus our app doesn't initialise our custom room set up. I've seen posts about needing to have the app registered in the Developers Hub, which we had in the past but deleted. We've created new apps in the developer hub and registered them in the Unity Tools>Platform settings for the Meta SDK and still nothing. We get a log from MRUK Shared saying "Unable to bind OpenXR entry", which I suspect is the issue causing the MRUK to not work. Everything works fine in the Simulator, I've tried also updating the version of the OpenXR plugin, everything I could find online, and still nothing. We are using Unity 6 (6000.0.42f1), Meta SDK v77 with OpenXR integration.141Views1like0CommentsNeed help using preset avatars from the Meta Avatars SDK
Device: Quest 3 I 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. NOTE: I want to use the existing presets available for Quest. There are 33 preset avatars labelled as 0_quest, 1_quest...32_quest. I will only be using a handful of avatars from these presets. I am NOT using avatars from users' Meta profiles. P.S: I gave Mixamo a shot, but it's kinda time-consuming to make each joint work as I want, and making the Meta XR Interaction SDK work with Mixamo models is a pain. TLDR: I want to swap the avatar in the MirrorScene with other presets available locally. How do I do it? First-person perspective (1PP) avatar is crucial. I can't find many resources to guide me with this. https://developers.meta.com/horizon/documentation/unity/meta-avatars-overview Just FYI, I am familiar with coding but have limited knowledge of Unity and Quest.109Views0likes1CommentUnity OpenXR Meta regression: passthrough doesn't work when focus is lost and regained
Problem: 1. Passthrough initially works fine in the app. 2. Take the headset off, the display goes dark. 3. Put the headset back on, the display turns back on. 4. Unexpected: passthrough no longer works in the app! Also, passthrough doesn't work in the first run after the app has been installed. This is a regression. Passthrough always worked in the last version of the Unity OpenXR Meta package I used, which I think was 2.0.1. Suspected Cause: MetaOpenXRPassthroughLayer.Dispose() in the Unity OpenXR Meta package appears to be broken - it's not idempotent. When Unity's OpenXRCompositionLayersFeature.OnSessionEnd() disposes it, the underlying resources are gone for good. So when OpenXRCompositionLayersFeature.OnSessionBegin() creates a new one, it doesn't work. Version: Unity 6 (6000.0.51f1) My selected XR plugin: Unity OpenXR Meta 2.2.0 Meta Quest 3 I think these packages are irrelevant to this problem, but including the versions anyway: Meta XR Core SDK 77.0.0 Meta MR Utility Kit v77.0.0 Meta XR Platform SDK 77.0.0242Views2likes2CommentsUnreal - Use Take Recorder with Live Link for Hand Tracking as Motion Capture?
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.1.7KViews0likes2Comments