Mixed Reality Toolkit for Unity (MRTK3)
repository·main·Indexed 19 days ago
https://github.com/mixedrealitytoolkit/mixedrealitytoolkit-unityAn open-source, modular framework built on Unity's XR Interaction Toolkit and OpenXR to accelerate cross-platform mixed reality development. It includes packages for accessibility, audio spatialization, core definitions, experimental data binding and theming, diagnostics, extended assets, specialized input (including hand-joint aggregation and simulation), spatial manipulation (ObjectManipulator, BoundsControl), and standard assets.
What's inside MRTK3
- MRTK Diagnostics provides subsystems and utilities designed for common diagnostic and performance monitoring tasks within Mixed Reality applications. It is intended to help developers monitor the health and performance of their MR experiences.
Overview of MRTK Tools
mainMRTK Tools is a collection of utilities, wizards, and tools designed to assist developers in creating and analyzing components specifically for use with MRTK3. It provides specialized workflows to streamline the development of mixed reality experiences within the Unity ecosystem.Overview of MRTK UX Components
mainTheorg.mixedrealitytoolkit.uxcomponentspackage is a UX library designed for building 3D user interfaces in mixed reality. It leverages Unity'sRectTransformandCanvassystems to provide dynamic layouts and presentation capabilities. The library includes a collection of prefabs, visuals, and interactive controls specifically optimized for mixed reality environments.Overview of MRTK Input package
mainThe
org.mixedrealitytoolkit.inputpackage extends the Unity XR Interaction Toolkit (XRI) to provide specialized mixed reality capabilities. It is designed to work seamlessly with the Unity Input System and provides the following core features:- Custom Interactors and Controllers: Specialized tools for interacting with objects in mixed reality environments.
- Hand-Joint Aggregation: Logic to group and manage hand joint data for more natural interaction.
- Simulation Subsystems: Tools to simulate input (such as hand tracking or controllers) within the Unity Editor for faster development and testing.
Overview of MRTK Accessibility
mainMRTK Accessibility provides features and subsystems designed to enable accessibility within Mixed Reality (MR) experiences. It allows developers to implement inclusive design patterns to ensure MR content is usable by individuals with diverse needs.
IMPORTANT This package is currently in early preview. Expect significant, breaking changes before its official release.
Use MRTK Data Binding and Theming with caution
mainThe data binding and theming features provided in theorg.mixedrealitytoolkit.datapackage are currently experimental. They are not recommended for use in production applications as the APIs and functionality may be changed or removed in future updates.Use MRTK UX Components (Non-Canvas) for 3D UI
mainTheorg.mixedrealitytoolkit.uxcomponents.noncanvaspackage provides a library of UX components designed specifically for 3D user interfaces that do not rely on Unity's Canvas layout system. Using non-Canvas UI components can offer improved performance in certain mixed reality scenarios compared to traditional Canvas-based UI.Use MRTK Spatial Manipulation features
mainThe
org.mixedrealitytoolkit.spatialmanipulationpackage provides the core tools for interacting with objects in 3D space. It includes components for direct manipulation, visual feedback for object boundaries, and systems for controlling how objects move and rotate through Solvers and Constraints.Key components include:
- ObjectManipulator: The primary component for enabling users to grab, move, rotate, and scale objects.
- BoundsControl: Provides visual handles and controls for manipulating an object's boundaries (e.g., resizing).
- Solvers/Constraints systems: Advanced systems used to refine movement, such as snapping to grids, following paths, or restricting movement to specific axes.
Use MRTK Extended Assets for prototyping
mainTheorg.mixedrealitytoolkit.extendedassetspackage provides supplementary assets designed to assist with rapid prototyping and the creation of example scenes. These assets are intended to complement the more frequently used assets found in theStandardAssetspackage.Use MRTK UX Core Scripts for building UX libraries
mainThe
org.mixedrealitytoolkit.uxcorepackage provides the fundamental interaction and visualization scripts required to build Mixed Reality (MR) UI components.When to use this package:
- Use this package if you are a developer building your own custom UX library or specialized UI components from the ground up.
- Do not use this package if you simply want a ready-to-use library of components; instead, use the UX Components package which contains a pre-existing library of components built upon these core scripts.
Use MRTK Standard Assets for common fonts, materials, and models
mainThe
org.mixedrealitytoolkit.standardassetspackage provides common assets used across various MRTK packages. This includes standard fonts, materials, and 3D models.Requirement: This package relies on the Graphics Tools collection of shaders to function correctly. Ensure that the Graphics Tools package is installed in your project to avoid rendering issues with these assets.
Manage lists with Data Consumer Collection and Item Placer
mainTo display a list of repeating visual elements (like a contact list or product catalog), use the following components:
- Data Consumer Collection: A specialized consumer that manages a collection of items. It can handle nested lists (e.g., a list of photos within a list of people).
- Data Collection Item Placer: The logic component assigned to a
Data Consumer Collection. It is responsible for:- Requesting list items.
- Accepting populated prefabs.
- Presenting them to the user (e.g., by inserting them into a UX layout component).
This system supports prefab pooling and virtualization, meaning only visible items are actively managed, which is essential for large datasets.