Introduction to Mixed Reality development

Abstract 3D sphere

Mixed Reality is a big place, a nexus where real and virtual worlds collide with a bang. The possibilities are endless, and it starts with you. Choose your engine, download your tools, and dust off your keyboard. Welcome to the Mixed Reality ecosystem - it's time to create.

Development options

Unity - Unity is one of the leading real-time development platforms on the market, with underlying runtime code written in C++ and all development scripting is done in C#. Whether you're looking to build games, movies and animation cinematics, or even render architectural or engineering concepts in a virtual world, Unity has the infrastructure to support you.

Unreal - Unreal Engine 4 is a powerful, open source creation engine with full support for mixed reality in both C++ and Blueprints. As of Unreal Engine 4.25, HoloLens support is full-featured and production-ready. With capabilities such as the flexible Blueprints Visual Scripting system, designers can virtually use the full range of concepts and tools generally only available to programmers. Creators across industries can leverage the freedom and control to deliver cutting-edge content, interactive experiences, and immersive virtual worlds.

Native (OpenXR) - OpenXR is an open royalty-free API standard from Khronos that provides engines native access to a wide range of devices from vendors across the mixed reality spectrum. You can develop using OpenXR on a HoloLens 2 or Windows Mixed Reality immersive headset on the desktop. If you don't have access to a headset, emulators for HoloLens 2 and Windows Mixed Reality headsets are available.

What technology path are you interested in?

There are several development paths you can take through our documentation. The first step is finding the technology that's right for you. If you already have one in mind, go ahead and jump right to its respective tab below. If you're on the fence or just starting out, take a look through each one and understand what they offer, the available platforms and tools, and start creating!

Important

Take a look at our porting guides overview if you have existing projects that you want to bring over to HoloLens 2 or immmersive VR headsets like the Reverb G2. We have guides for projects that are using HTK, MRTK v1, SteamVR or were developed for immersive headsets such as the Oculus Rift or HTC Vive.

Unity

Build a cross-platform, full-featured mixed reality app with Unity. See the Unity development overview to get started with Unity development for HoloLens or Windows Mixed Reality immersive headsets.

Available hardware platforms

You have several hardware and emulator options when building Mixed Reality apps with Unity. While our developer documentation focuses on HoloLens devices, you'll find device support sections with details on immersive headset deployment when applicable.

Augmented reality devices

Immersive VR headsets

  • HP Reverb and Reverb G2
  • Samsung Odyssey and Odyssey+
  • HP Windows Mixed Reality headset
  • Lenovo Explorer
  • Acer AH101
  • Dell Visor
  • Asus HC102
  • Acer OJO 500

Available tools and SDKs

Tool/SDK Description
Mixed Reality Toolkit for Unity The Mixed Reality Toolkit for Unity is an open source cross-platform development kit built to accelerate development of applications targeting Microsoft HoloLens, Windows Mixed Reality immersive (VR) headsets and OpenVR platform.
Microsoft Mesh Private Preview Complete the Microsoft Mesh Register Interest form to stay up to date with Mesh announcements and news. With Mesh, you can enhance virtual meetings, conduct virtual design sessions, help others remotely, and host virtual meet-ups.

Cloud services

There are several cloud services that can be integrated into Mixed Reality projects built in Unity, specifically Azure Remote Rendering and Azure Spatial Anchors. These services can add shared holographic content and real-time 3D rendering to your applications, making them more compelling and immersive for your users.

All of these services are covered over the course of the Unity development for HoloLens journey, which is the strongly recommended path for learning Mixed Reality with Unity. You're already on this path, so just keep reading and follow the big blue button at the bottom of the article. However, if you're at a more advanced development stage and already know you want to jump in, check out our cloud services overview or go directly to the services resources.

Dynamics 365 Guides

You can use Microsoft Dynamics 365 Guides to visually tether holographic instructions to your apps virtual environment, giving your users important information when and where it's needed. This feature is also covered in the Unity development for HoloLens journey, but if you want to jump ahead you can see what's on offer by selecting the Dynamics 365 tab here.

Examples

We have several open source sample apps for you to download and play around with to get a feel for a Mixed Reality end product in Unity. There are also MRTK example scenes available for you to test out specific features:

Note

Both of the MRTK example scenes require MRTK Foundation and Example Unity packages to be installed.

What's next?

Now that you have a technology path in mind, let's equip you with the tools you need to start your journey.