Meta has rolled out a significant update to its MR Utility Kit SDK for Quest 3, empowering Unity developers to seamlessly integrate QR code decoding and six-degrees-of-freedom (6DoF) tracking into their mixed reality applications. This new system-level feature simplifies implementation, requiring only the Spatial Data permission.
Key Takeaways
- The Meta MR Utility Kit SDK update for Quest 3 now supports QR code tracking.
- This feature provides developers with a 6DoF pose, 2D bounding box, 2D boundary polygon, and the decoded payload of the QR code.
- It offers a more user-friendly permission model compared to direct camera access.
- The tracking is system-level, similar to keyboard tracking, and is not intended for real-time object tracking.
- The feature is an optional component in v78 of the SDK and supports Quest 3, Quest 3S, and future Horizon OS headsets.
Simplified Implementation for Developers
Previously, developers could enable QR code functionality using custom computer vision libraries, which required more complex integration. The latest MR Utility Kit update introduces this capability as a built-in system-level feature. This significantly streamlines the development process, making it quicker and easier to implement. Crucially, it utilizes the existing Spatial Data permission, which is already common for other mixed reality features, rather than the more sensitive Headset Camera permission.
Functionality and Limitations
When QR code tracking is activated, the SDK furnishes developers with comprehensive data, including a 6DoF positional pose, a 2D bounding box, a 2D boundary polygon, and the decoded content of the QR code, such as a URL. This marks QR codes as the second "trackable" object within Meta’s MR Utility Kit, following the keyboard trackable. Including tracked controllers and the Logitech MX Ink stylus, this brings the total number of inanimate objects that Quest 3 can positionally track at a system level to four.
Meta emphasizes that, much like keyboard tracking, the position update rate for QR codes is relatively low. Consequently, this feature is not suitable for tracking rapidly moving objects by attaching QR codes to them. While the position will update if a QR code is moved, it will not be in real-time. This functionality is more comparable to the object tracking seen in visionOS 2 rather than a dedicated real-time tracking solution.
Performance Considerations and Use Cases
Meta advises that even this low-rate tracking incurs a performance cost. Therefore, developers are recommended to enable the feature dynamically, only when it is actively needed within an application. Potential applications for this technology include enhancing the reliability of initial calibration for colocated experiences, offering a more robust alternative to Meta’s Shared Spatial Anchors system, which can sometimes be inconsistent. This could prove particularly valuable for enterprise and location-based virtual and mixed reality applications. For consumer-facing applications, where printers are less common in households, developers could prompt users to display a QR code on their smartphone or tablet screen.
Availability
QR code tracking is an optional feature included in version 78 of the Meta MR Utility Kit for Unity. It is compatible with the Quest 3 and Quest 3S headsets, as well as all subsequent Horizon OS devices. The feature supports QR codes up to version 10.