
Mixed Reality ToolKit (MRTK)
Updated: Oct 26, 2020
MRTK is a non-proprietary, asynchronous platform development kit for fabricating
Mixed Reality applications. MRTK provides multiple platform input systems,
fundamental components, and common constituents for spatial interactions and
develops Mixed Reality-based applications.

MRTK mainly focuses on turning down the barriers between developers and amateurs; it provides a universal platform for developing applications based on this domain effortlessly. There are different versions of MRTK, and the latest version, i.e., MRTK version 2.4.0, has incorporated many state of-the-art features that are utilized to develop a more composite application. Some of the striking features of MRTK are as follows:
1. MODULAR
MRTK is built autonomously, wherein the components are included independently, and
hence only the required modules can be incorporated by the Developer into the
development process. Due to this, you can conveniently reduce the space consumed by
your project, making it easier to manage. MRTK is interface driven and possesses
scriptable objects; the Developer can quickly assimilate his objects and modify the
existing objects provided by the ToolKit according to his requirement.
2. CROSS-PLATFORM
The cross-platform feature is another feature that makes MRTK more accessible and
user-friendly. It has certain constraints as it does not promise to be compatible in all the
platforms, but it makes sure that the code is not broken or tampered with when the
Developer builds it on a different platform. MRTK has extensible framework where
developers can swap core components. This feature makes MRTK more robust and
malleable. Considering the modular design, MRTK is set on the right path of harmony in
various platforms like ARCore, ARKit, and OpenVR.
3. PERFORMANT
The performance of MRTK is given the utmost importance. The feasibility factor of
MRTK must be high, as it should not compromise on the account. MRTK supports
numerous platforms like:
Microsoft HoloLens
Microsoft HoloLens 2
Windows Mixed Reality headsets
OpenVR headsets (HTC Vive / Oculus Rift)
Ultraleap Hand Tracking
Mobile devices, such as iOS and Android.
4. ONE TOOLKIT FOR NUMEROUS SPECTATORS
MRTK is not built for a single group of an audience; it is made to be accessible for people
ranging from amateur to professionals in this field. Some of the codes and APIs have
been optimized to be running on various platforms. MRTK has requirements to scale
across AR and VR smoothly. The applications built must be able to retreat when
deployed on HoloLens 2 or HoloLens 1 smoothly. It must be simple to build applications
based on Mixed Reality. The main Goal of MRTK is to provide long term support to the
developer in the process of application development.
Mixed Reality ToolKit comprises of the following components:
i. INPUT SYSTEM
Input plays a vital role in a Mixed Reality application. The developer must set up the
scene using an appropriate input module, camera, cursor, or motion controllers to make
the environment more interactive.
ii. INTERACTABLE OBJECT
Interactable object examples show how an object can be made interactable and
respond to the user's inputs. Inputs may vary from observation, targeted, and resize.
The items can vary immensely based on their needs. Visual feedback is used to check
which object is interactable and which is not.
iii. BOUNDING BOX AND APP BAR
The bounding box is one of the standard interfaces used to manipulate and tamper with
the objects in Windows Mixed Reality. The bounding box is a useful UI designed to
rotate and scale the objects virtually. The app bar comprises of circumstantial buttons
attached to the virtual items. By default, it displays three buttons; namely, Hide, Adjust,
and Remove. The adjust button is used to scale and change the dimensions of the object
on the screen. As the name suggests, the Remove button removes the entire item from
the screen. Lastly, the Hide button hides that particular object from the screen. A
developer can add custom made buttons to the series of the button on the App bar.
iv. TWO HAND MANIPULATION
Two hand manipulation allows the user to use his hands to manipulate the object. Users
can Tap, Hold, Drag, Maximize, Minimize, and move by tap using both the hands. This
system also works with motion controllers. The developer can spontaneously
manipulate objects.
v. OBJECT COLLECTION
With Object Collection, one can arrange an array of game objects in the 3D space. The
surface type, row, column, number, and other dimensional support are provided to the
game object. In this way, the developer can construct a three-Dimensional grid system.
vi. SOLVER SYSTEM
This system allows you to amalgamate all the positional behaviors of the objects and run
them accordingly. One good example is the Start Menu, which possesses multiple
actions like Tag-along, Constant View size, and Surface Magnetism. When the Start
Menu collides with any object in the real world, it allows that object. It also continually
resizes the items to maintain a constant size.
vii. VOICE COMMAND
The most connate way of interacting with any object is through voice. It diminishes both
the time consumption and effort of the user. Windows Mixed Reality Shell provides
system-level commands like ‘Select,’ ‘Close,’ ‘Move This,’ and ‘Face Me.’
viii. SPATIAL UNDERSTANDING
The most exhilarating proficiency of HoloLens is the spatial understanding. This feature
helps the user to detect obstacles and analyze the environment. It also helps in
identifying real-world objects and surfaces like – Floor, Ceilings, Walls, and rigid
platforms. After doing this, it then places the realistic holograms onto the scene.
MRTK has revolutionized the process of developing Mixed Reality Applications. People
from all walks of life can use this Toolkit effortlessly.