Porting overview

If you need to port or upgrade your existing projects for Mixed Reality, the process is determined by whether your app is built with Unity or Unreal Engine and also whether it targets HoloLens (1st Gen) or HoloLens 2, or SteamVR. This overview page contains our current recommendations for each platform and device--be sure to check back as these processes are always changing.

First, set up your project target based on either our Unity or Unreal recommendations, and then follow one or more of our porting scenarios:

It's important to keep your projects up-to-date. Refer to the engine-based resources listed below for our current recommendations.


For up-to-date guidance on the recommended Unity and MRTK version, see Choosing a Unity version.

We recommend OpenXR as the path forward in Mixed Reality development, so be sure to visit our OpenXR overview and our guide for migrating a Unity 2019 project to Unity 2020 + OpenXR


For up-to-date guidance on the recommended Unreal and MRTK versions, see Setting up your Unreal project.

Porting scenarios

HoloLens (1st Gen) Unity apps to HoloLens 2

If you have an existing HoloLens (1st Gen) Unity application that you'd like to port over to a HoloLens 2, follow the instructions in our HoloLens porting article.

Immersive VR headsets

If you've built content for other VR devices, you'll need to retarget any vendor-specific VR SDKs and (potentially) input-mapping APIs. You can find information for both Unity and Unreal porting scenarios in our immersive apps porting guide.

For SteamVR experiences that you want to update for Windows Mixed Reality headsets, refer to our SteamVR updating guide.

2D Universal Windows applications

If you have an existing 2D UWP app that you'd like to port to either a Windows Mixed Reality immersive headset or HoloLens, follow our porting 2D UWP apps for Windows Mixed Reality instructions.