OpenXR - Mixed Reality (2024)

  • Article

OpenXR - Mixed Reality (1)

OpenXR is an open royalty-free API standard from Khronos, providing engines with native access to a range of devices across the mixed reality spectrum.

You can develop using OpenXR on a HoloLens 2 or Windows Mixed Reality immersive VR headset on the desktop. If you don't have access to a headset, you can use the HoloLens 2 Emulator or the Windows Mixed Reality Simulator instead.

Why OpenXR?

With OpenXR, you can build engines that target both holographic devices, like HoloLens 2, and immersive VR devices, like Windows Mixed Reality headsets for desktop PCs. OpenXR lets you write code once that's then portable across a wide range of hardware platforms.

The OpenXR API uses a loader to connect your application directly to your headset's native platform support. End users get maximum performance and minimum latency, whether they're using a Windows Mixed Reality or any other headset.

What is OpenXR?

The OpenXR API provides the core pose prediction, frame timing, and spatial input functionality you need to build an engine that can target both holographic and immersive devices.

To learn about the OpenXR API, check out the OpenXR 1.0 specification, API reference, and quick reference guide. For more information, see the Khronos OpenXR page.

To target the full feature set of HoloLens 2, you also use cross-vendor and vendor-specific OpenXR extensions.These enable features such as articulated hand tracking, eye tracking, spatial mapping, and spatial anchors. For more information, see the Roadmap section on the extensions coming later this year.

OpenXR isn't itself a mixed reality engine. Instead, OpenXR enables engines like Unity and Unreal to write portable code once that can then access the native platform features of the user's holographic or immersive device, whatever vendor built that platform.

Roadmap

The OpenXR specification defines an extension mechanism that enables runtime implementers to expose other functionality beyond the core features defined in the base OpenXR 1.0 specification.

There are three kinds of OpenXR extensions:

  • Vendor extensions (for example, XR_MSFT_...): Enables per-vendor innovation in hardware or software features. Any runtime vendor can introduce and ship a vendor extension at any time.
  • Experimental vendor extensions (for example, XR_MSFTX_...): Experimental vendor extensions being previewed to gather feedback. XR_MSFTX_... extensions are for developer devices only and are removed when the real extension ships. To experiment with them, you can enable preview extensions on your developer device.
  • Cross-vendor EXT extensions: Cross-vendor extensions that multiple companies define and implement. Groups of interested companies can introduce EXT extensions at any time.
  • Official KHR extensions: Official Khronos extensions ratified as part of a core spec release. KHR extensions are covered by the same license as the core spec itself.

The Windows Mixed Reality OpenXR Runtime supports a set of MSFT and EXT extensions that brings the full set of HoloLens 2 features to OpenXR applications:

Feature areaExtension availability
Systems + sessionsOpenXR 1.0 core spec:
XrInstance, XrSystemId, XrSession
Reference spaces (view, local, stage)OpenXR 1.0 core spec:
XrSpace
View configurations (mono, stereo)OpenXR 1.0 core spec:
XrView...
Swapchains + frame timingOpenXR 1.0 core spec:
XrSwapchain... + xrWaitFrame
Composition layers
(projection, quad)
OpenXR 1.0 core spec:
XrCompositionLayer... + xrEndFrame
Input and hapticsOpenXR 1.0 core spec:
XrAction...
Direct3D 11/12 integrationOfficial KHR extensions released:
XR_KHR_D3D11_enable
XR_KHR_D3D12_enable
Unbounded reference space(world-scale experiences)MSFT extension released:
XR_MSFT_unbounded_reference_space
Spatial anchors

MSFT extension released:
XR_MSFT_spatial_anchor

MSFT extension released in runtime 108: (HoloLens 2 only)
XR_MSFT_spatial_anchor_persistence

Hand interaction(grip/aim pose, air-tap, grasp)

HoloLens 2 only

MSFT extension released:
XR_MSFT_hand_interaction
Hand articulation + hand mesh

HoloLens 2 only

EXT extension released:
XR_EXT_hand_tracking

MSFT extension released:
XR_MSFT_hand_tracking_mesh

Eye gaze

HoloLens 2 only

EXT extension released:
XR_EXT_eye_gaze_interaction
Mixed Reality Capture(third render from PV camera)

HoloLens 2 only

MSFT extensions released:
XR_MSFT_secondary_view_configuration
XR_MSFT_first_person_observer
Motion controller interaction profiles
(Samsung Odyssey and HP Reverb G2)
MSFT extensions released in runtime 103:
XR_EXT_samsung_odyssey_controller
XR_EXT_hp_mixed_reality_controller
Motion controller render modelsMSFT extension released in runtime 104:
XR_MSFT_controller_model
Scene understanding (planes, meshes)

HoloLens 2 only

MSFT extension released in runtime 106:
XR_MSFT_scene_understanding
XR_MSFT_scene_understanding_serialization
Scene marker (QR Codes)

HoloLens 2 only

MSFT extension released in runtime 113:
XR_MSFT_scene_marker
Composition layer reprojection modes(auto-planar or orientation-only reprojection)MSFT extension released in runtime 106:
XR_MSFT_composition_layer_reprojection
Interop with other Mixed Reality SDKs
(for example, QR)
MSFT extension released:
XR_MSFT_spatial_graph_bridge
Interop with UWP CoreWindow API
(for example, for keyboard/mouse)
MSFT extension released in runtime 103:
XR_MSFT_holographic_window_attachment
Interop with legacy Mixed Reality WinRT APIs
(for example, SpatialAnchorTransferManager))

MSFT extension released in runtime 105:
XR_MSFT_perception_anchor_interop

Other cross-vendor extensions

Official KHR extensions released:
XR_KHR_composition_layer_depth
XR_KHR_visibility_mask
XR_KHR_win32_convert_performance_counter_time
XR_KHR_composition_layer_color_scale_bias

EXT extensions released:
XR_EXT_win32_appcontainer_compatible
XR_EXT_debug_utils

While some of these extensions may start out as vendor-specific MSFT extensions, Microsoft and other OpenXR runtime vendors are working together to design cross-vendor EXT or KHR extensions for many of these feature areas. Cross-vendor extensions make the code you write for those features portable across runtime vendors, as with the core specification.

Where can you use OpenXR?

OpenXR - Mixed Reality (2)

Minecraft's new RenderDragon engine has built its desktop VR support using OpenXR!

Microsoft has been working with Unity and Epic Games to ensure the future of mixed reality is open, not just for HoloLens 2, but across the full breadth of PC VR, including HP’s new Reverb G2 headset. OpenXR powers the cross-vendor VR support for major titles shipping today, such as Minecraft and Microsoft Flight Simulator! For more information on developing for HoloLens (1st gen), see the release notes.

To learn how you can get started with OpenXR in Unity, Unreal Engine or your own engine, read on!

OpenXR in Unity

Microsoft’s current recommended Unity configuration for HoloLens 2 and Windows Mixed Reality development is Unity 2020.3 LTS with the Mixed Reality OpenXR plugin. This plugin includes support for the OpenXR extensions that light up the full capabilities of HoloLens 2 and Windows Mixed Reality headsets, including hand/eye tracking, spatial anchors, and HP Reverb G2 controllers. MRTK-Unity supports OpenXR as of MRTK 2.7. For more information about getting started with Unity 2020 and OpenXR, see Choosing a Unity version and XR plugin.

If you're developing for HoloLens (1st gen), you need to continue using Unity 2019.4 LTS with the legacy WinRT API backend. If you’re targeting the new HP Reverb G2 controller in a Unity 2019 app, see our HP Reverb G2 input docs.

Starting in Unity 2021.3 LTS, OpenXR is the only supported Unity backend for targeting HoloLens 2 and Windows Mixed Reality headsets.

OpenXR in Unreal Engine

Unreal Engine 4.23 was the first major game engine release to ship preview support for OpenXR 1.0! Now in Unreal Engine 4.26, support for HoloLens 2, Windows Mixed Reality, and other desktop VR headsets is available through Unreal Engine's built-in OpenXR support. Unreal Engine 4.26 also supports Microsoft's OpenXR extension plugin. This enables hand interaction and HP Reverb G2 controller support, lighting up the full feature set of HoloLens 2 and Windows Mixed Reality headsets. Unreal Engine 4.26 is available today on the Epic Games Launcher, with MRTK-Unreal 0.12 supporting OpenXR projects.

OpenXR for native development

You can develop using OpenXR on a HoloLens 2 or Windows Mixed Reality immersive VR headset on the desktop. If you don't have access to a headset, you can use the HoloLens 2 Emulator or the Windows Mixed Reality Simulator instead.

To start developing OpenXR applications for HoloLens 2 or Windows Mixed Reality VR headsets, see how to get started with OpenXR development.

For a tour through all the major components of the OpenXR API, along with examples of the real-world applications using OpenXR today, check out this 60-minute walkthrough video:

See also

OpenXR - Mixed Reality (2024)

FAQs

Is OpenXR better than SteamVR? ›

There are a few reasons why OpenXR might offer better performance than SteamVR in DCS. First, OpenXR is a newer standard designed to be more efficient. Second, OpenXR can take advantage of specific hardware features and more customizations, which can help to improve performance.

Do you need OpenXR for MSFs VR? ›

Before using VR in Flight Simulator with an Oculus headset, the computer needs to know the location of the OpenXR runtime.

How do I enable OpenXR in Windows Mixed Reality? ›

Open Edit -> Project Settings and enable Open XR support. You may get a warning to activate the new input system. Select Yes. After enabling Open XR support go to the OpenXR settings and add the Microsoft Motion Controller Profile.

How do I remove OpenXR for Windows mixed reality? ›

Removal. The software can be removed from Windows' Add or remove programs menu. In the list of applications, select OpenXR-Toolkit, then click Uninstall.

What is the difference between OpenXR and WebXR? ›

WebXR focuses on enabling immersive experiences directly within internet browsers, catering to a broader audience of users. In contrast, OpenXR is specifically designed for creating VR, AR, and MR applications that are compatible across XR devices like mixed reality headsets and VR glasses.

Does Oculus use OpenXR? ›

OpenXR is a backend which can interact with almost all headsets. If you make your game on OpenXR it will run on Oculus, Vive/SteamVR, Index, mobile headsets like the Quest, WMR and more!

Does virtual desktop use OpenXR? ›

This program is an implementation of the OpenXR standard for Virtual Desktop on Windows. It allows you to run OpenXR applications without SteamVR.

How do I change SteamVR to OpenXR? ›

In SteamVR Settings, select Show Advanced Settings. Select Developer, then Set SteamVR as OpenXR Runtime.

Is OpenXR a runtime? ›

As pioneers in the free and open source XR ecosystem, Collabora has made substantial investments in Monado, the leading open source OpenXR runtime, to ensure seamless compatibility and performance across a wide range of devices.

What language is OpenXR written in? ›

OpenXR Documentation is primarily written in Asciidoc, a form of text markup language.

What is Mixed Reality OpenXR service? ›

OpenXR is an open royalty-free API standard from Khronos, providing engines with native access to a range of devices across the mixed reality spectrum.

Does Windows Mixed Reality still work? ›

On December 2023, Microsoft announced that Windows Mixed Reality is deprecated and will be removed from future versions of the Windows operating system. Microsoft updates and support for Windows Mixed Reality will end starting in November 2026. To view the announcement, see Deprecated features for Windows client.

How does OpenXR work? ›

Using OpenXR, developers can write code that works with multiple XR platforms with minimal adaptation. OpenXR isn't a specific library or code: instead, there are multiple runtimes provided by hardware manufacturers, software companies, and even open source projects.

How do I switch between OpenXR and SteamVR? ›

Under Advanced Settings, click Show. Click Developer. Check if Current OpenXR Runtime is set to SteamVR. If Current OpenXR Runtime is not set to SteamVR, click SET STEAMVR AS OPENXR RUNTIME.

Who uses OpenXR? ›

Microsoft's Mixed Reality headsets, HoloLens 2, Rift, SteamVR, and Quest, as well as Qualcomm, Epic Games, Pico, Tobii, and Varjo. So using OpenXR for hand tracking means you can build once, then deploy across Quest, Pico, Vive and Ultraleap tracking.

References

Top Articles
It's not Lizzie Borden: New book looks at the Fall River axe murder you never knew about
16. The Strong and the Weak (Romans 14)
Cold Air Intake - High-flow, Roto-mold Tube - TOYOTA TACOMA V6-4.0
Windcrest Little League Baseball
Access-A-Ride – ACCESS NYC
Junk Cars For Sale Craigslist
Mcfarland Usa 123Movies
Hocus Pocus Showtimes Near Harkins Theatres Yuma Palms 14
La connexion à Mon Compte
Category: Star Wars: Galaxy of Heroes | EA Forums
Edgar And Herschel Trivia Questions
Washington, D.C. - Capital, Founding, Monumental
ExploreLearning on LinkedIn: This month's featured product is our ExploreLearning Gizmos Pen Pack, the…
Katherine Croan Ewald
Google Flights Missoula
Fort Mccoy Fire Map
BMW K1600GT (2017-on) Review | Speed, Specs & Prices
Evil Dead Rise Showtimes Near Regal Sawgrass & Imax
Where to eat: the 50 best restaurants in Freiburg im Breisgau
Teekay Vop
Craigslist Maryland Trucks - By Owner
Stihl Dealer Albuquerque
Foolproof Module 6 Test Answers
Foodsmart Jonesboro Ar Weekly Ad
CVS Health’s MinuteClinic Introduces New Virtual Care Offering
Gillette Craigslist
TJ Maxx‘s Top 12 Competitors: An Expert Analysis - Marketing Scoop
Salemhex ticket show3
Craigslist Scottsdale Arizona Cars
Publix Coral Way And 147
DIY Building Plans for a Picnic Table
Redding Activity Partners
Does Circle K Sell Elf Bars
Bratislava | Location, Map, History, Culture, & Facts
Save on Games, Flamingo, Toys Games & Novelties
آدرس جدید بند موویز
Facebook Marketplace Marrero La
Case Funeral Home Obituaries
That1Iggirl Mega
450 Miles Away From Me
Td Ameritrade Learning Center
Second Chance Apartments, 2nd Chance Apartments Locators for Bad Credit
Me Tv Quizzes
Www.craigslist.com Waco
Exploring the Digital Marketplace: A Guide to Craigslist Miami
Vci Classified Paducah
Kenwood M-918DAB-H Heim-Audio-Mikrosystem DAB, DAB+, FM 10 W Bluetooth von expert Technomarkt
Costner-Maloy Funeral Home Obituaries
6463896344
Erica Mena Net Worth Forbes
Elvis Costello announces King Of America & Other Realms
Lagrone Funeral Chapel & Crematory Obituaries
Latest Posts
Article information

Author: Roderick King

Last Updated:

Views: 6164

Rating: 4 / 5 (51 voted)

Reviews: 90% of readers found this page helpful

Author information

Name: Roderick King

Birthday: 1997-10-09

Address: 3782 Madge Knoll, East Dudley, MA 63913

Phone: +2521695290067

Job: Customer Sales Coordinator

Hobby: Gunsmithing, Embroidery, Parkour, Kitesurfing, Rock climbing, Sand art, Beekeeping

Introduction: My name is Roderick King, I am a cute, splendid, excited, perfect, gentle, funny, vivacious person who loves writing and wants to share my knowledge and understanding with you.