July 2024 Release - 1.9.0
The OS 1.9.0 August 2024 release is here. In this release, we’ve continued to migrate more of our platform features and tools to OpenXR. This update adds support for new Experimental OpenXR APIs and updates to existing tools and features. Read on to learn more.
Release Highlights:
- OpenXR Magic Leap 2 Reprojection in Unity
- OpenXR Magic Leap 2 Physical Occlusion in Unity
- OpenXR Magic Leap 2 Eye Tracker in Unity
- RGB Camera support for Pixel Sensor
- Developer HUD
- Updates to Unreal Documentation
Reminder: As of the 1.7.0 OS update, USB Debugging is disabled by default. Developers may need to manually re-enable Developer Mode to enable USB Debugging.
New Features
OpenXR Magic Leap 2 Reprojection in Unity
We’ve introduced experimental Unity support for the Magic Leap 2 Reprojection feature via the OpenXR XR_MSFT_composition_layer_reprojection
extension. This advanced feature enhances visual stability by providing additional reprojection information. When enabled, it replaces the existing FocusDistance and requires some experimentation.
OpenXR Magic Leap 2 Physical Occlusion in Unity
The Magic Leap 2 Physical Occlusion Feature in Unity allows developers to manage and configure how virtual objects interact with real-world occluders. This feature enhances the realism of Augmented Reality experiences by allowing virtual objects to be hidden or partially blocked by real-world elements detected through various sources such as the environment, depth sensor, hands, and controller.
OpenXR Magic Leap 2 Eye Tracker in Unity
The Magic Leap 2 Eye Tracker Feature is an experimental OpenXR extension for Unity, enabling developers to integrate eye-tracking capabilities into applications running on Magic Leap 2. This API provides comprehensive access to data such as gaze direction, eye positions, pupil sizes, and gaze behaviors, essential for creating immersive and interactive user experiences.
RGB Camera Support for Pixel Sensor
With the Magic Leap 2 OS 1.9.0 update, we're introducing support for accessing the RGB camera image through the experimental OpenXR Pixel Sensor API. This unified API allows for access to all pixel sensors on the device, although certain advanced features remain exclusive to the Android Camera2 API and the MLCamera API.
Developer HUD
Developer HUD is a feature that allows applications to view system performance metrics without being tethered to a laptop/desktop. It should help give developers a good idea of how the system performs frame to frame. A good time for this is when a developer would like insight into the system metrics during underperforming areas of their application. It can help get a broader view of where the problem may be.
Continued Support For MLCamera API
We’re pleased to announce that the Magic Leap 2 MLCamera API will continue to be supported based on your valuable feedback. We want to ensure that developers retain the flexibility to choose the tool they are most familiar with, whether it’s the Android SDK/NDK APIs or the MLCamera APIs. We recognize that developers have already integrated camera support into their tools and applications, making the continued support of the MLCamera API essential. With similar functionality to Android SDK/NDK, the MLCamera APIs remain a reliable choice, allowing you to seamlessly integrate camera access into your Magic Leap 2 projects with the tools you’re most comfortable using.
- Guide: MLCamera Overview
Updates to Unreal Documentation
With this update, we have improved our documentation for Unreal Engine with Magic Leap 2. In addition to better organizing the Unreal documentation, we have added guides for the Unreal Examples project, Hand Tracking, and updated the Getting Started guide.
Developer Resources
Magic Leap 2 Text-to-Speech Unity Example Project
This project demonstrates how to use Android's Text-to-Speech functionality on the Magic Leap 2. The repository contains the Android Project used to create the plugin file, a sample Unity project, and the Magic Leap TTS Utility Package.
Magic Leap 2 Unity WebRTC Example Project
This project demonstrates how to implement WebRTC functionality in Unity to stream a Render Texture between a Magic Leap 2 device and a PC. This simplified example serves as a starting point for developers migrating from the legacy MLWebRTC APIs. Developers should build more robust and performant solutions if deploying WebRTC into production environments.
SDK Release Highlights
For a full list of updates, see the Releases section on the Developer Portal.
C SDK
Improvements:
- Undeprecated
MLCamera
andMLCameraMetadata V2
APIs. - Resolved issues with MLSpace API confidence values and improved API stability.
OpenXR Integration
Bug fixes and Improvements:
- Fixed state transitions for
XR_MND_headless
extension. - Stability improvements for
XR_EXT_plane_detection
extension.
This release adds improvements to the following OpenXR samples:
- Added
XR_EXT_hand_interaction
support for OpenXR samples.
Unity SDK
This release adds:
- Added Support for the Magic Leap 2 Physical Occlusion OpenXR extension
- Added Support for the Magic Leap 2 Eye Tracker OpenXR extension
- Added Support for the Magic Leap 2 Reprojection OpenXR extension
- Added Facial Expressions and Physical Occlusion example scenes to the Unity Magic Leap Example Project
Unreal SDK
- Added support for
XR_ML_eye_tracker
and world RGB camera integration withXR_ML_pixel_sensor
API. - Expanded Pixel Sensor example to decode YUV and JPEG for World and RGB camera feeds.
- Upgraded custom Unreal Engine fork to 5.4.3.
Magic Leap MRTK3
- Added compatibility with MRTK3 version 4.0.0. The runtime rig configuration option works with both legacy (version 3.0.0) and new (version 4.0.0) MRTK rigs.
- Improved detection when the package systems are running on Magic Leap 2 for secondary users, enabling specific package functionality previously disabled.
Magic Leap MRTK 2.8
- Initial update to 2.4.0 with support for OpenXR Provider.
- Added Voice Intents, Control, HandTracking, EyeTracking, and Meshing features. Refer to the specific demo scenes for usage.
Systems & Performance
Spaces App
Building on the mapping flow improvements launched in the previous release, Spaces now has improved user guidance and mapping quality feedback.
Default Hand-tracking Capabilities
As of the OS 1.8.0 release in July, Magic Leap 2 features hand-tracking on by default, enabling users to enjoy more intuitive interactions with our device. This change does not affect third-party apps.
Developer Option - USB Debugging
As of the OS 1.7.0 release in May, to ensure that the ML2 device is as secure as possible for our customers, the USB Debugging feature is disabled by default for 'clean' (erase userdata) flashing of the latest software build and for factory reset use case. With this default, developers or users who want to connect the ML2 device to a PC will have to manually enable USB Debugging from within the headset.
For an extended list of system updates and known issues, visit the 1.9.0 OS Release Notes.
1.9.0 Package Version Guide
Listed below are the version numbers of the packages that comprise the 1.9.0 update:
- Magic Leap OS - 1.9.0 [B3E.240725.06-R.026]
- Unity SDK - 2.4.0
- C SDK - 1.9.0
- Unreal SDK - 1.6.0
- MRTK3 - 1.2.0
Reminder: if you update to the latest SDK, you must also update your device's OS. If you are using Unity, use the versions listed above for full compatibility. After you download the packages listed above, check out our setup guides.
Developer Input and Feedback
Our Developer Forum and our Bug Report submission form are prime channels for direct input to continuously improve Magic Leap 2. If you have an issue developing for our platform, give us a shout on the Forum. We respond to each question. If you suspect you’ve found a bug, don’t hesitate to report it to us either through the bug report form or a forum post.
Best,
Magic Leap Developer Relations Team