# Unity Mr Utility Kit Trackables **Documentation Index:** Learn about unity mr utility kit trackables in this documentation. --- --- title: "Mixed Reality Utility Kit - Trackables" description: "This document covers both the low-level Core SDK trackables API and the high-level MRUKTrackable system." last_updated: "2025-08-26" --- ## Learning Objectives - **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. --- ## Overview 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](/documentation/unity/unity-scene-overview#scene-anchors), which are captured during Space Setup. You can use the low-level Core SDK [OVRAnchor.Tracker](/documentation/unity/unity-core-trackables) for full control or the high-level MRUK APIs (**MRUKTrackable**) for event-driven simplicity. --- ## MRUKTrackables MRUK simplifies runtime detection by instantiating **MRUKTrackable** components for each detected [OVRAnchor](/reference/unity/v76/class_o_v_r_anchor_tracker). Subscribing to **TrackableAdded** and **TrackableRemoved** lets you react without polling. ### Requirements - Enable [Spatial Data Permission](/documentation/unity/unity-spatial-data-perm/) - In the MRUK component under **Scene Settings → Tracker Configuration**, check one of the trackable options: **Keyboard Tracking Enabled** or **QR Code Tracking Enabled**. ### Tracker Configuration UI MRUK Tracker Configuration

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.

### Events & Usage 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. ```csharp 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); } ``` --- ## Trackable types Learn more about specific types of trackables: - [Keyboards](/documentation/unity/unity-mr-utility-kit-keyboard-tracking) - [QR Codes](/documentation/unity/unity-mr-utility-kit-qrcode-detection) --- ← **Previous:** [Manipulate Scene Visuals](/documentation/unity/unity-mr-utility-kit-manipulate-scene-visuals/) → **Next:** [Track Keyboards in MRUK](/documentation/unity/unity-mr-utility-kit-keyboard-tracking/) ## Related Content Explore more MRUK documentation topics to dive deeper into spatial queries, content placement, manipulation, sharing, and debugging. **Core Concepts** - [Overview](/documentation/unity/unity-mr-utility-kit-overview) Get an overview of MRUK's key areas and features. - [Getting Started](/documentation/unity/unity-mr-utility-kit-gs/) Set up your project, install MRUK, and understand space setup with available Building Blocks. - [Place Content without Scene](/documentation/unity/unity-mr-utility-kit-environment-raycast) Use Environment Raycasting to place 3D objects into physical space with minimal setup. - [Manage Scene Data](/documentation/unity/unity-mr-utility-kit-manage-scene-data) Work with MRUKRoom, EffectMesh, anchors, and semantic labels to reflect room structure. **Content & Interaction** - [Place Content with Scene](/documentation/unity/unity-mr-utility-kit-content-placement) Combine spatial data with placement logic to add interactive content in the right places. - [Manipulate Scene Visuals](/documentation/unity/unity-mr-utility-kit-manipulate-scene-visuals) Replace or remove geometry, apply effects, and adapt scenes using semantics and EffectMesh. **Multiuser & Debugging** - [Share Your Space with Others](/documentation/unity/unity-mr-utility-kit-space-sharing) Use MRUK’s Space Sharing API to sync scene geometry across multiple users. - [Debug Your MRUK App](/documentation/unity/unity-mr-utility-kit-debug) Use tools like the Scene Debugger and EffectMesh to validate anchor data and scene structure. **MRUK Samples & Tutorials** - [MRUK Samples](/documentation/unity/unity-mr-utility-kit-samples) Explore sample scenes like NavMesh, Virtual Home, Scene Decorator, and more. - [Mixed Reality Motifs](/documentation/unity/unity-mrmotifs-instant-content-placement) Instant Content Placement. **Mixed Reality Design Principles** - [Mixed Reality Best Practices](/design/mr-overview) Design MR apps that are comfortable, intuitive, and immersive.