August 2024 Release - 1.9.0

July 2024 Release - 1.9.0

The OS 1.9.0 August 2024 release is here. :tada: 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

:warning: 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. :warning:

New Features :rocket:

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.

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 :hammer_and_wrench:

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 :sparkles:

For a full list of updates, see the Releases section on the Developer Portal.

C SDK

Improvements:

  • Undeprecated MLCamera and MLCameraMetadata 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 with XR_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