Mixed Reality Utility Kit - Trackables
Updated: Aug 26, 2025
- Explain what a trackable is and how it differs from static scene anchors.
- Grant the Spatial Data permission required for all tracking APIs.
- Enable MRUKTrackables in the MRUK component (e.g., checking “Keyboard Tracking Enabled”).
- Subscribe to TrackableAdded and TrackableRemoved events.
- Instantiate prefabs on added trackables and destroy them when trackables are removed.
A
trackable is a physical object (e.g., a keyboard or a QR code) that can be detected and tracked at runtime, unlike
scene anchors, which are captured during Space Setup. You can use the low-level Core SDK
OVRAnchor.Tracker for full control or the high-level MRUK APIs (
MRUKTrackable) for event-driven simplicity.
MRUK simplifies runtime detection by instantiating
MRUKTrackable components for each detected
OVRAnchor. Subscribing to
TrackableAdded and
TrackableRemoved lets you react without polling.
- Enable Spatial Data Permission
- In the MRUK component under Scene Settings → Tracker Configuration, check one of the trackable options: Keyboard Tracking Enabled or QR Code Tracking Enabled.
Check either of the Keyboard Tracking Enabled or QR Code Tracking Enabled check boxes. MRUK provides a Trackable Added and Trackable Removed event, where we can easily call our public methods from.
Below are sample methods we could call after either event has been invoked. When a trackable has been added, the user might want to instantiate a prefab on the trackable, such as a keyboard visual or passthrough overlay to see the trackable in VR mode. When a trackable has been removed, the user might want to destroy the GameObject again.
using UnityEngine;
using Meta.XR.MRUtilityKit;
public void OnTrackableAdded(MRUKTrackable trackable)
{
Debug.Log($"Trackable of type {trackable.TrackableType} added.");
Instantiate(_prefab, trackable.transform);
}
public void OnTrackableRemoved(MRUKTrackable trackable)
{
Debug.Log($"Trackable removed: {trackable.name}");
Destroy(trackable.gameObject);
}
Learn more about specific types of trackables:
Explore more MRUK documentation topics to dive deeper into spatial queries, content placement, manipulation, sharing, and debugging.
Core Concepts
- Overview
Get an overview of MRUK’s key areas and features.
- Getting Started
Set up your project, install MRUK, and understand space setup with available Building Blocks.
- Place Content without Scene
Use Environment Raycasting to place 3D objects into physical space with minimal setup.
- Manage Scene Data
Work with MRUKRoom, EffectMesh, anchors, and semantic labels to reflect room structure.
Content & Interaction
Multiuser & Debugging
MRUK Samples & Tutorials
Mixed Reality Design Principles