Port VR apps to Windows Mixed Reality
Windows 10 includes support for immersive and holographic headsets. Other devices like the Oculus Rift or HTC Vive have dependencies on libraries that exist above the operating system’s platform API. To bring existing Win32 Unity VR apps over to Windows Mixed Reality, you need to retarget vendor-specific VR SDK usage to Unity’s cross-vendor VR APIs and plugins.
Porting VR apps to Windows Mixed Reality requires the following high-level processes:
- Make sure your PC is running the Windows 10, version 1709 (the Fall Creator’s Update) or newer, or Windows 11.
- Upgrade to the latest version of your graphics or game engine. Game engines must support the Windows 10 SDK version 10.0.15063.0 or higher.
- Upgrade middleware, plug-ins, and components. If your app contains any components, upgrade to the latest versions.
- Target the latest Unity version and OpenXR plugin. Remove dependencies on duplicate SDKs. Depending on which device your content targeted, remove or conditionally compile out that SDK.
- Work through build issues specific to your app, your engine, and your component dependencies.
Common porting steps
Start with the following common porting steps:
-
Make sure you have the right development hardware. The VR enthusiast guide lists the recommended development hardware.
- Upgrade to the latest flight of Windows 10.
- Install the Windows 10 Creators Update
- Join the Windows Insider Program.
- Enable Developer Mode
- Switch to the Windows Insider Fast flights through Settings > Update & Security Section.
[!NOTE]
The Windows Mixed Reality platform is still under active development. Join the Windows Insider Program to access the Windows Insider Fast flight. Don’t get preview builds from the Insider Skip Ahead ring, because those builds aren’t the most stable for mixed reality development.
- If you’re using Visual Studio, upgrade to the most recent build. See Install the tools under Visual Studio 2022. Be sure to install the Game Development with Unity workload.
Unity porting steps
[!INCLUDE]
See also