February 06, 2022

Mixed Reality Toolkit Add-On

In the latest version of Evergine, we have used the new Add-Ons functionality to package some of our most valuable features, to improve the usability and ease of integration in new projects. One of the chosen features is our very own Mixed Reality Toolkit.

Evergine’s Mixed Reality Toolkit (or MRTK for short) offers an array of components and functionalities to make Mixed Reality applications development easier. It’s an open-source project, so that you can check the code out in this repository: https://github.com/EvergineTeam/MixedRealityToolkit

The MRTK changes the way you interact with controls. Instead of using a mouse pointer to click on buttons, you can use the hand tracking feature in the HoloLens 2 to interact with controls, both by touching the buttons and pointing at them from a distance and “clicking” it with what is known as the air-tap gesture.

Using the prefab feature available in the latest version of Evergine, the MRTK puts some valuable controls at your disposal. In particular, you can find some prefabs for buttons and sliders, along with some prefabs used as handles for other more complex commands that allow natural object manipulation, which would, for instance, enable the user to change the scale of an object in a more precise way.


When you instantiate a prefab for one of the basic controls, you have two ways of customizing their look and behavior:

  • Modifying the prefab instance hierarchy. This way, you can change the icon or the text for a button.
  • Through the use of the configurator components. These offer a more centralized way of changing the most common parameters that would be changed in the control. Some of them, like the toggle button configurators, add new functionality to their control, like different states for a button.

The provided controls are made using flexible components that can be used in different ways. You can visit the documentation to know about these in detail.

To use the MRTK in your project, you have to follow these steps:

  1. Install the MRTK add-on from the Add-On manager in Evergine Studio.
  2. Change your project’s scene, so it inherits from MRTK’s XRScene instead of Evergine’s Scene class. You will be prompted to delete the CreateScene method override. If you need to add entities to your scene via code, override the OnPostCreateXRScene method.
  3. Register a NoesisService instance in your application’s constructor.

That’s it! You can now use MRTK’s components and prefabs in your application. You can check more stuff in the Demo project in the repository, showcasing all currently available features.

Manuel Caballero
Plain Concepts Research