/MixedRealityToolkit-Unity

MixedRealityToolkit-Unity uses code from the base MixedRealityToolkit repository and makes it easier to consume in Unity.

Primary LanguageC#MIT LicenseMIT

What is MixedRealityToolkit-Unity?

The Mixed Reality Toolkit is a collection of scripts and components intended to accelerate development of applications targeting Microsoft HoloLens and Windows Mixed Reality headsets. The project is aimed at reducing barriers to entry to create mixed reality applications and contribute back to the community as we all grow.

MixedRealityToolkit-Unity uses code from the base MixedRealityToolkit and makes it easier to consume in Unity.

Mixed Reality Academy View the Mixed Reality Companion Kit Mixed Reality Toolkit GitHub Repo Read the Mixed Reality Developer Guides

Learn more about Windows Mixed Reality here.

Note: The latest release should work for both HoloLens and Windows Mixed Reality development.

Github Release

Github Release

Check out the MRTK Roadmap for Unity.

Check out the updates from the Fall Creators update for Windows Mixed Reality.

Check out the Breaking Changes from the previous release.

Looking to upgrade your projects to Windows Mixed Reality? Follow the Upgrade Guide.

Feature areas

The Mixed Reality Toolkit for Unity includes many APIs to accelerate the development of Mixed Reality projects for both HoloLens and the newer Immersive Headsets (IHMD)

Input Input Sharing Sharing Spatial Mapping Spatial Mapping
Scripts that leverage inputs such as gaze, gesture, voice and motion controllers. Includes the Mixed Reality camera prefabs. Sharing library enables collaboration across multiple devices. Scripts that allow applications to bring the real world into the digital using HoloLens.
Spatial Sound Spatial Sound UX Controls UX Controls Utilities Utilities
Scripts to help plug spatial audio into your application. Building blocks for creating good UX in your application like common controls. Common helpers and tools that you can leverage in your application.
Spatial Understanding Spatial Understanding Build Build Boundary Boundary
Tailor experiences based on room semantics like couch, wall etc. Build and deploy automation window for Unity Editor. Scripts that help with rendering the floor and boundaries for Immersive Devices.

Required Software

Windows 10 Creators Update Windows 10 FCU Unity Unity 3D Visual Studio 2017 Visual Studio 2017 Simulator (optional) Simulator (optional)
To develop apps for mixed reality headsets, you need the Windows 10 Fall Creators Update The Unity 3D engine provides support for building mixed reality projects in Windows 10 Visual Studio is used for code editing, deploying and building UWP app packages The Emulators allow you test your app without the device in a simulated environment

Getting started with MRTK

To get up and going as quickly as possible, here are some guides to help you get started building Mixed Reality Projects

Quick Start Guide Quick start Contributing to this project Contributing to this project Contributing to this project Fall Creators Update
Please go over the Getting started guide to learn more about getting off the ground quickly. Please go over the Contributing guidelines to learn more about the process and thinking. Check out the recent updates for Windows Mixed reality in the Fall Creators update

Examples and QuickStart scenes

The MRTK includes many great samples and starter scenes to demonstrate the uses of the MRTK API, these include:

Motion Controller tests Motion Controller tests Input manager tests Input manager tests Grab Mechanics demo Grab Mechanics demo
Motion controller test scene demonstrating controller input events Several gaze interaction demos such as popups, buttons and more Examples of direct manipulation with Motion Controllers (IHMD Only)
Interactable Objects Interactable Objects Object Collection Object Collection App Bar and Bounding Box App Bar and Bounding Box
Example of modular and extensible interactable objects with visual states, including Holographic button Object collection helps you lay out an array of objects in a three-dimensional shape [Coming Soon] Standard UI for move/rotate/scale 3D objects
Keyboard input sample Keyboard input sample Interactive button demos Interactive button demos Scene occulsion demo Scene occlusion demo
A sample virtual keyboard, similar to system keyboard in Windows Mixed Reality shell Example UI buttons and controls for use in Mixed Reality Scene construction demo on how to make occluded windows

Check out the Examples folder for more details.

External\How To docs folder is meant to help everyone with migrating forward or any simple doubts they might have about the process. Please feel free to grow all these sections. We can't wait to see your additions!

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

Useful resources on Microsoft Windows Dev Center

Academy Academy Design Design Development Development Community) Community
See code examples. Do a coding tutorial. Watch guest lectures. Get design guides. Build user interface. Learn interactions and input. Get development guides. Learn the technology. Understand the science. Join open source projects. Ask questions on forums. Attend events and meetups.