OpenXR Development
Recently active
I'm developing a biofeedback app using openXR and openGL. That all worked very well under Linux / Android studio. Then to be able to record video I was forced to switch to Windows so installed the openXR SDK again which might be a slightly newer version. What has changed is the precision of the uniform here:https://github.com/glasgowneuro/AttysHRV/blob/ea6fcfef6e0d5a72a25c978189a24e5d1b0259aa/app/src/main/cpp/AttysHRVGl.cpp#L1764that's the time since the start of the app and that's transmitted as a float to the shader. I used that to create some gradual lighting changes as if clouds make it a bit brighter or darker. That worked well at the time of this commit under Linux.Then for the filming I switched to Windows with idential code but perhaps the runtime shader compiler has changed in the meantime. It's not the sdk as the libopenxr_loader.so are identical.bp1@bp1-Precision-WorkStation-T5400:~/sandbox$ diff ovr_openxr_mobile_sdk/OpenXR/Libs/Android/arm64-v8a/Release/libopenxr_loa
Hi, I'm developing openxr native app.I want to use touch pro controller with meta quest2 in my native application.So I tried to bind touch pro controller(/interaction_profiles/facebook/touch_controller_pro) with xrSuggestInteractionProfileBindings openxr API.However I failed and got a error message "XR_ERROR_PATH_UNSUPPORTED" .My software version of quest2 may be latest. could you let me know how can I use touch pro controller profile?
For example, Mobile OpenXR Samples has a XrCompositor_NativeActivity.cHow can I convert XrCompositor_NativeActivity.c to c++ and run the app successfully? I tried renaming the extension to .cpp, making changes to Android.mk, etc... but I keep running into errors.
I am building my game using OpenXR for the Quest 2. Everything works in editor and plays and runs fine on PC with Link Cable connected. I tried to build the full game in one apk but that was around 3.5 GB, too big to upload with adb. I was able to get a smaller build with just my menu scene working, so I know the first scene works. When I try to build with Split Application Binary, it successfully builds, gives me a 300 mb apk which i can upload to the headset, and gives me a ~3.5GB obb file. I load both onto the headset, with the obb in the correct location. But when I try to run the apk I only see the three loading dots(the loading the shows for a couple second when opening a game) on the Oculus and the app never opens. I am unsure how to fix this issue. I tried ADB Logcat and can't seem to find any error popping up. Any Suggestions
Using the latest Android Studio and running latest OpenXR's hello_xr, clicking on left controller menu button causes the game to crash. Can someone please tell me how to fix this issue? I've been reading up on the OpenXR Input API, but I find it very complicated and unable to help me fix this issue.
Hi everyone, I posted a demo, with full source code, of waist-oriented locomotion on my company Twitter page, here:twitter . com / BattleAxeVR / status / 1597478314893266944source here:github . com / BattleAxeVR / OpenXR-SDK-SourceWorks on Android AND Link/AirLink on PC thanks to the latest Meta body tracking extension.Works much better than head-oriented or controller-oriented locomotion, in my opinion.Much more natural and less VR sickness too. You can look in a different direction as where you're walking. It's like having a DecaMove in software, available platform-wide for all Quests. This is a real game-changer in immersion I think. I hope you all try it and consider supporting it in your games / apps!
Hi, I am confused of the above question. The Meta document says they are not the same and the Interaction SDK supports OpenXR backend. When I use Oculus XR Plugin in Unity XR Plug-in managment together with Oculus integration to run Windows program, everything is OK. However, when I use Unity OpenXR Plugin with Oculus integration, the program also works.Since Interaction SDK only support Oculus OpenXR backend, why can it work in Unity OpenXR Plugin?
Hello,I am trying to implement OpenXR support in a VR mod for an old game (X-Wing Alliance).When I do the first call to xrEnumerateInstanceExtensionProperties(), it never returns.Oculus loader indicates that the runtime was loaded correctly, but never completes the "trampoline" like it usually does.Verbose [GENERAL | xrEnumerateInstanceExtensionProperties | OpenXR-Loader] : Entering loader trampolineWarning [GENERAL | | OpenXR-Loader] : ReadLayerDataFilesInRegistry - failed to read registry location \ApiLayers\Implicit in either HKEY_LOCAL_MACHINE or HKEY_CURRENT_USERInfo [GENERAL | | OpenXR-Loader] : RuntimeManifestFile::FindManifestFiles - using environment variable override runtime file F:\Oculus\Support\oculus-runtime\oculus_openxr_32.jsonInfo [GENERAL | | OpenXR-Loader] : RuntimeManifestFile::CreateIfValid - attempting to load F:\Oculus\Support\oculus-runtime\oculus_openxr_32.jsonInfo [GENERAL | xrEnumerateInstanceExtensionProperties | OpenXR-Loader] : RuntimeInterface::Lo
Hi Meta, I reported this issue on Github but would like to repeat it here for visibility.https://github.com/BattleAxeVR/OpenXR-SDK-Source/issues/3xrLocateBodyJointsFB returns a runtime error over Link (on all three Quests, 1, 2 and Pro, which I own).It would be great if this extension would work on PC as I intend to use it in my game, if you'll allow it. PLEASE FIX. FBT on Quest 2 / PC is a game changer for barrier to entry and getting elbow and waist joint poses, especially would be very helpful, even if they are estimated. Also it'd be great if these features weren't restricted to "dev mode" only. I don't understand why PC VR gamers have to jump through hoops to use the hardware they paid good money for. Please, as a longtime Oculus dev who's worked on many titles, from large to small, this kind of thing is really a problem.
Hi guys!The Oculus runtime for PC (version 1.49.0) appears to implement the following OpenXR extensions:Name=XR_OCULUS_recenter_event SpecVersion=1Name=XR_OCULUS_ovrsession_handle SpecVersion=1Name=XR_OCULUS_perf_stats SpecVersion=1Name=XR_OCULUS_audio_device_guid SpecVersion=1However, I cannot find any information anywhere (on the Web, in files within the C:\Program Files\Oculus folder, ...) on how to use them. Is there any document or header file, even in preliminary/draft state, that could shed some light on the matter?
In the Meta Movement SDK for OpenXR documentation, several OpenXR extensions are detailed that can be used to enable runtime features over Oculus Link. Two of these are the Face and Eye Tracking extensions detailed here:https://developer.oculus.com/documentation/native/android/move-face-tracking/and here:Eye Tracking in Movement SDK for OpenXR: Native | Oculus Developers Both documents state that the user will get an error if they attempt to run the extension on a platform where it isn't supported, but when I run a PC app over link to access the face and eye data via runtime features, it provides the following errors: "Left eye tracking is not allowed. Please enable it in the Oculus app.""Right eye tracking is not allowed. Please enable it in the Oculus app.""Face tracking is not allowed. Please enable it in the Oculus app." There is no option to enable any of these in the Oculus app for PC, although there is an option to enable Passthrough. Presumably it would be in tha
Hello.I am currently developing games on the quest 2 because I need hand tracking. I would like to know if there was any updated tutorial out there to develop on Unity with OpenXR and hand tracking. I didn't found if I could use the Oculus Integration with OpenXR, and I did not found any documentation. Moreover, the unity OpenXR "documentation" says that it is not ready for production, but the old Oculus API has been deprecated in favoir of OpenXR ?! It is a bit misleading.I want to build on OpenXR because it is supposed to be cross-platform, and I want to port my games to consumers that do not have a quest 2 (in my case, it is the Vive focus 3).Any help is greatly appreciated 🙂 Have a nice day.
Igkgkd
I know some people created this before. But my case is different. I tried all the solution that I can find on the forums. I tried to change the registry, but somehow OpenXR folder is not there. I can see only "Vulkan" in the "Khronos" folder (In both SOFTWARE and WOW6432Node) How do I fix this? I cannot preview my work in Unreal because it is not set to default OpenXR.Please help me MetaStoreHelp It looks like this at the moment
I've been having fun with the openXR API and been writing this "water animation" which reacts to the heartrate. https://youtu.be/7os9slgfJcU Now I'd like to display text (heartrate for example) or a simple popup window. Or it would be even nicer to recycle Android views such as AndroidPlot. Is there any way of accessing these? It's certainly possible when pressing the menu button then the menu pops up rendered on top of my app.
Oculus Quest2 Headset updated to v46. (46.0.0.219.0.405105920)Apps created with OpenXR in Unity do not launch after update.The problem has been around since last Wednesday.Games uploaded to AppLab also cannot be accessed.
Hello! I am attempting to implement the OpenXR extension XR_FB_spatial_entity (https://developer.oculus.com/documentation/native/android/openxr-lsa-persist-content/). I am starting by implementing the function xrCreateSpatialAnchorFB. However, when I call this function during runtime, I get the return code "XR_ERROR_VALIDATION_FAILURE". Is there any way to get more information about what is causing this validation error? I am writing my code in C# (using the StereoKit library). My call to the function looks something like: public bool CreateAnchor() { Log.Info("Begin CreateAnchor"); var anchorCreateInfo = new XrSpatialAnchorCreateInfoFB(); anchorCreateInfo.next = IntPtr.Zero; anchorCreateInfo.space = Backend.OpenXR.Space; anchorCreateInfo.poseInSpace.orientation.w = 1; anchorCreateInfo.time = Backend.OpenXR.Time; XrResult result = xrCreateSpatialAnchorFB( Backend.OpenXR.Session, anchorCreateInfo, out XrAsyncRe
I was playing with some dynamic resolution control using XRSettings.renderViewportScale and XRSettings.eyeTextureResolutionScale (Unity). Essentially, I set eyeTextureResolutionScale=2.0 right when the app starts, and then dynamically change renderViewportScale. Everything functions properly.However, setting a large eyeTextureResolutionScale seems to have a pretty serious impact on frame rate, even if I'm just rendering to a small part of the viewport. For example, eyeTextureResolutionScale=2.0 and renderViewportScale = 0.5 works fine, but is much, much slower than "normal."Is this a known / understood problem? Is there something about large eye buffers that needs to be accounted for?Thanks much!
How can I change the color of the cubes in hello_xr from Android Studio?I have very little experience with Android Studio, but I can run hello_xr on on my Quest 2 and I understand OpenGL C++. I tried looking at some of the .c and .cpp files, but Android Studio tells me "This file does not belong to any project target; code insight features might not work properly."
Hi there, I am building an application on PC using OpenXR and using Oculus Link with my Quest 2. I'd like to integrate hand tracking into the application, but it doesn't look like Oculus's OpenXR implementation on PC offers the extension XR_EXT_hand_tracking. It is my understanding that hand tracking can be used through Oculus Link when developing applications in Unity; is there any reason why PCVR developers can't get access to this when building their own XR integration? Thanks in advance!
Hello, I am using the integration SDK to track my hand and I need to apply an offset to the hand.I can successfully get the position of the hand with a Hand object from the Oculus.Interaction.Input, or a OVRHand object, but how can I set it ? Thank you very much.
Hello,In our OpenXR, UE4.27 project we are observing an occasional and seemingly random loss of tracking of one hand controller while playing in a Shipping build. We have tried to repro without much success, the tracking loss occurs on either hand. Furthermore the loss of tracking appears to only happen with in UE4, ie if I press the oculus button I can see both controllers are tracked in the oculus menu. I placed some logging into the project and have discovered that when this loss of tracking occurs for the appropriate motion tracking component calling UMotionController::GetMotionTrackingSource yields the correct value however, UMotionController::GetControllerTrackingStatus returns "Not Tracked" even though I can see them tracked in the occulus menu. Inputs still work normally.Has anyone else experienced this issue on the Rift S? Any solutions to this issue? It looks like the issue lies somewhere in engine code.
Hi, I'm not seeing the XR_FB_render_model instance extension in the list of supported extensions on Quest 2. XR_KHR_android_create_instance SpecVersion=3XR_KHR_android_surface_swapchain SpecVersion=4XR_KHR_android_thread_settings SpecVersion=5XR_FB_android_surface_swapchain_create SpecVersion=1XR_KHR_opengl_es_enable SpecVersion=8XR_KHR_vulkan_enable SpecVersion=8XR_KHR_vulkan_enable2 SpecVersion=2XR_KHR_composition_layer_cube SpecVersion=8XR_KHR_composition_layer_cylinder SpecVersion=4XR_KHR_composition_layer_equirect2 SpecVersion=1XR_KHR_composition_layer_color_scale_bias SpecVersion=5XR_KHR_composition_layer_depth SpecVersion=5XR_FB_color_space SpecVersion=2XR_EXT_performance_settings SpecVersion=3XR_EXT_hand_tracking SpecVersion=4XR_FB_display_refresh_rate SpecVersion=1XR_FB_swapchain_update_state SpecVersion=3XR_FB_swapchain_update_state_opengl_es SpecVersion=1XR_FB_swapchain_update_state_vulkan SpecVersion=1XR_FB_swapchain_update_state_android_surface SpecVersion=1XR_OC
Hi, I’ve noticed that after installing Oculus Integration package, all action based controllers in my project stop working. Specifically, even though both rotation and position of the controllers is successfully tracked (I have tested the inputs), the controllers in game stay at origin point and only reflect rotation, not position. Unchecking OculusXR Feature in the XR plugin management or uninstalling Oculus Integration package restores the functionality and controllers can move normally again. Device based interactors work, but I don’t want to use them because they’re too clunky and uncomfortable. Using:Oculus Integration package v41, OVRPlugin 1.73 using OpenXR backendXR Interaction Toolkit v2.0.2Unity v2021.3.5f1 (LTS) but it was the same with 2021.3.3f1Oculus Quest 2 Note that issue manifests both in editor and when deployed.
I have discovered a bug when using the "Get Motion Controller Data" function. I am using Unreal Engine version 4.27.0. I have yet to test this in the latest version of the engine.The bug occurs when moving the actor around. The data found in XRMotionControllerData which is given by the function "Get Motion Controller Data" gives position and rotation data for the motion controllers which doesn't seem to be up to date with exactly where the actor has moved. In my testing project, I added code which simply draws this data as a red beam. I also added code which moves the actor.The red beam and the teleport beam both appear to be lagging behind the actor.The bug also occurs when rotating the actor.It does not occur when moving the motion controller around, it only seems to occur when moving the actor around.When using the location and forward vector of the MotionControllerComponent World Location as a scene component, the issue does not occur.All of these effects have been observed bo
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.