Skip to content

Repository files navigation

Please note that on December 5, 2018, the default branch for this repository will change (from master to mrtk_release) as we transition from the HoloToolkit to the Mixed Reality Toolkit.

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.

For details on the different branches used in the Mixed Reality Toolkit repositories, check this Branch Guide here.

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

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-Unity Roadmap.

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)

InputInputSharingSharingSpatial MappingSpatial 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 SoundSpatial SoundUX ControlsUX ControlsUtilitiesUtilities
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 UnderstandingSpatial UnderstandingBuildBuildBoundaryBoundary
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 UpdateWindows 10 FCUUnityUnity 3DVisual Studio 2017Visual Studio 2017Simulator (optional)Simulator (optional)
To develop apps for mixed reality headsets, you need the Windows 10 Fall Creators UpdateThe Unity 3D engine provides support for building mixed reality projects in Windows 10Visual Studio is used for code editing, deploying and building UWP app packagesThe 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 GuideQuick startContributing to this projectContributing to this projectContributing to this projectFall 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 - Input

Input manager testsInput manager testsMotion Controller testsMotion Controller testsGrab MechanicsGrab MechanicsTwo Hand ManipulationTwo Hand Manipulation
Input and cursor visualization examples for gaze and motion controller pointersDemonstrates how to access motion controller input events and dataExamples of direct manipulation with motion controllersScript for manipulating objects with two hands

Examples - UI controls and building blocks

Bounding Box and App BarBounding Box and App BarInteractable ObjectsInteractable ObjectsObject CollectionObject CollectionKeyboardKeyboard
Standard UI for manipulating objects in 3D spaceModular script for making objects interactable with visual states, including Holographic buttonScript for lay out an array of objects in a three-dimensional shapeSystem style keyboard prefab for Unity projects
Dialog and ProgressDialog / ProgressSolver systemSolver systemInteractive button demosInteractive button demosToolTip & LabelToolTip & Label
Standard UI for notification, approval, or additional information from the user / Data loading indicatorScripts for various behavious such as tag-along, billboarding, body-lock, constant view size and surface magnetismUWP style UI controls including radio, toggle and checkboxesAnnotation UI with flexible anchor/pivot system which can be used for labeling motion controllers and object.

Examples - Surface reconstruction

Spatial MappingSpatial MappingSpatial ProcessingSpatial ProcessingSpatial UnderstandingSpatial UnderstandingSurface MagnetismSurface Magnetism
Example of visualizing and accessing spatial mapping data.Example of processing the raw spatial mapping data, finding and creating planes based on spatial mapping meshes.Examples of the room scanning and accessing identified surfaces such as walls, floors, ceilings and platforms.Example of making an object smoothly align with physical surfaces using SolverSurfaceMagnetism

Check out the Examples folder for more details.

Check out the article "Open-Source Building Blocks for Windows Mixed Reality Experiences"MRTK Building Blocks

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

AcademyAcademyDesignDesignDevelopmentDevelopmentCommunity)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.

About

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

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages