There is a lot of confusion among consumers about the term “mixed reality” nowadays, and most people have no idea what it even is. In contrast, virtual reality is well-known to most of the inhabitants of the modern world, and augmented reality has also gained more attention and prevalence in recent years. Unfortunately, the same does not hold true for mixed reality, a burgeoning market that has not quite caught on with mainstream users, but is making great headway with enterprises.
When it comes to mixed reality, one company is king – Microsoft. Not only have they developed the best-selling mixed reality products (Hololens) available today, but they have also created a first-rate mixed reality toolkit for creating mixed reality software on the Unity platform. This toolkit, often shortened to MRTK is the focus of our article because it can provide such a big boost in mixed reality development, and we will explain why.
Understanding the Basics
If you are unfamiliar with the world of mixed reality development, there is a good chance that some of the words in our introduction went over your head. If this is the case or not, we want to provide some key details about all things connected to MRTK.
Mixed reality – a merging of the digital world and our reality. With mixed reality, digital elements (like simulations of objects and characters) are added to the field of view of the user, though they still see most of their real-world surroundings. The images are presented through a special headset, and the user is typically able to interact with the digital elements.
Hololens – a mixed reality product developed by Microsoft. Usually described as smartglasses or a head-mounted display, this is a wearable gadget running on Windows 10 and featuring a variety of compatible applications. The first version of Hololens was released in 2016, while the second version (Hololens v2) was released in 2019.
Toolkit – an assortment of instruments used for developing other applications. Usually, these instruments are just programs used for building other programs, but MRTK is just a set of packages to be installed on the Unity platform. Other popular toolkits in the sphere of extended reality include VRTK and HoloToolkit.
Unity – a leading game engine used for the development of thousands of modern applications. While most of the applications are mobile games, Unity software can be adapted for many uses, including the development of VR/AR/MR software. In this market, Unity is an incredibly popular choice, with the closest rival being Unreal Engine.
MR Toolkit Requirements
One important thing that people need to understand about MRTK is that this is not a complete program that you can just download, launch, and use to start developing an app. Before work on the mixed reality application using MRTK can begin, certain requirements should be fulfilled:
MRTK is only compatible with Unity, so building an application with these utilities will be impossible without the right Unity software. At the moment, the MRTK website lists the following Unity versions as being compatible with the service – 2018.4.x, 2019.1.x or 2019.2.x . It should also be noted that not everyone who wants to make a Microsoft MR app is familiar with Unity and how to use it, so unity development services in this field have become popular.
2. Visual Studio
The creator of MRTK (Microsoft) recommends the latest version of Visual Studio as a vital instrument for MR application building. Visual Studio is a proprietary program from Microsoft, which also happens to be one of the most popular IDEs (integrated development environments) available for free today. This is where developers create, edit, and troubleshoot code for the software that they’re working on. Visual Studio is also the application of choice for Unity developers, as many of its features have built-in VS integration, while other IDEs require potentially unreliable plugins to connect to Unity.
3. Windows SDK
Windows SDK is a set of tools used for building applications that run on Windows. Since the main gadget that MRTK developers target is Hololens, which runs on Windows, this SDK is a must-have for anyone who falls into this category. Like Unity, this SDK is most compatible with Visual Studio. According to the Mixed Reality Toolkit documentation, the version of Windows SDK should be 18362 or newer.
How to Use the Mixed Reality Toolkit
Once you have met the pre-requisites above, there will only be a few steps separating you from the development of high-quality mixed reality applications in Unity.
1. Downloading necessary assets
Microsoft has uploaded the main Unity dev kit assets of MRTK in a Github repository, and the files are accessible to everyone. There are 5 key packages featured on the page (“Foundation”, “Extensions”, “Tools”, “Examples”, and “Providers”), though only “Foundation” (Microsoft.MixedRealityToolkit.Unity.Foundation.unitypackage) is a download essential for MRTK to work properly. The other assets offer helpful examples, supplemental features and tools, as well as functional support for OpenVR.
2. Installing the packages
Once you have downloaded necessary assets, you can open Unity and start a new 3D project. This is the point when you import the assets in question.
This is done in the “Asset -> Import Package -> Custom Package” part of the Unity Windows interface.
Depending on how many packages you import (1 or more), the installation may take longer and require more steps.
3. Final configurations
After the import process, there are some additional steps you will need to take to prepare for development. Firstly, you will see a prompt regarding the “Foundation” package asking whether the default package settings should be applied. Approving the default settings is recommended for first-time developers. Finally, you will need to switch to the right platform for your project in the “File > Build Settings” screen of Unity. If you are building a Unity Hololens application, then the correct platform should be “Universal Windows Platform”.
4. Start developing
Once the steps above have been completed, a new “Mixed Reality Toolkit” menu should appear in the Unity menu toolbar. In this menu, you can select “Add to Scene and Configure” to start building your first mixed reality scene. Navigating through the process of mixed reality development can be very difficult for beginners, something akin to wandering through an endless labyrinth. Still, those lacking knowledge and experience in this field may find a ray of hope in the manuals provided by Microsoft.
It should also be mentioned that MRTK can be used for the development of applications with OpenVR, an API created by Valve Corporation for building VR apps accessible on Steam and Valve VR devices. Additionally, it is compatible with Microsoft’s native WMR (Windows Mixed Reality) system. Nevertheless, Hololens 1&2 remain the most common products that MRTK apps are built for.
Reviewing the Mixed Reality Toolkit
As the only major mixed reality toolkit available for Unity, MRTK both thrives from the flexibility that its creators were afforded, yet in some ways suffers from the lack of alternatives and factors pushing to innovate and improve. We will examine some of the basic advantages and disadvantages.
Pros of MR Toolkit:
- Accurate Spatial Awareness system with support for spatial meshes, planes, and points
- Takes advantage of Unity’s superb shaders
- Cool built-in Teleportation and Scene Transition features
- Experimental features developed by the community can be easily found and added to projects
- Support for OpenVR and WMR
Cons of MR Toolkit:
- Lack of support for platforms beyond Unity, OpenVR, and WMR
- Shortage of documentation for experimental features
- Slow rollout of major updates
- Bug fixes are infrequent
Mixed Reality Development Services
Despite some minor flaws and potential areas of improvement, MRTK remains the top choice for MR Unity developers, simply because it does what it is intended to and takes full advantage of the capabilities offered by Unity. Thus, MRTK-focused development is growing all around the world, and Hololens Unity development services are popping up for those not ready to take on the burden of development (and possibly learning) themselves.
Program-Ace is one of the many companies offering MR software development services, distinguished by a long history of working in this field, and the extensive experience of our specialists. We are certainly familiar with Hololens products and fully capable of developing solutions for them, whether it is an MRTK + Unity solution or something built on another platform (like Unreal Engine). You can make sure that we are the right fit for your project by looking at our past mixed reality works, as well as the new platform that we are working on. If any questions come up, you are welcome to contact us at any time.