May 2024 Release - 1.7.0

May 2024 Release - 1.7.0

The OS 1.7.0 May 2024 release is here. :tada: This release delivers brand new samples and features, including Light Estimation and a Web Converter application to turn any website into a Magic Leap 2 .apk. Read on to learn how this release can help you get you started on building your next application

:warning: Disclaimer : The new 1.7.0 OS update disables USB Debugging by default. Developers may need to manually re-enable Developer Mode after this update

Release Highlights:

  • Web Converter
  • OpenXR Dynamic Occlusion API (experimental)
  • Light Estimation and Pixel Sensor APIs
  • OpenXR Visual Stability Guidance

New Tools :hammer_and_wrench:

Web Converter

image

Web Converter is a tool that can turn any website into a Magic Leap 2 application. This tool gives you the flexibility to build apps as needed, with no AR experience required. Learn More.

Featured Guides :eyes:

Unity Light Estimation

This guide demonstrates how to use the Magic Leap Light Estimation Feature. This feature allows for realistic lighting of virtual objects based on real-world environmental lighting. Read the guide for more information.

Unity XRI Hand Interaction Demo

This guide demonstrates how to configure input actions for the Magic Leap 2 to work with the Unity XR Hands package. Read this guide to learn about setting up the hand interaction demo scene from the package.

OpenXR Visual Stability

The updated visual stability guide now includes in-depth information on how to use the new OpenXR SDKs to improve how well virtual content appears anchored to the real world. Read the guide to learn more about these best practices.

OpenXR Visual Stability

The updated visual stability guide now includes in-depth information on how to use the new OpenXR SDKs to improve how well virtual content appears anchored to the real world. Read the guide to learn more about these best practices.

SDK Release Highlights ✨

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

C SDK

The previous release (1.6.0) fixes the timestamp resolution returned by the custom ML_CONTROL_CAMERA_MLTIME_TIMESTAMPS NDK tag. It is now in nanoseconds as MLTime (was in microseconds). Developers can use MLPlatformGetAPILevel() to determine OS version and make necessary conversions.

OpenXR Integration

This release adds support for the following extensions:

  • XR_KHR_locate_spaces
  • XR_EXT_future
  • XR_MSFT_first_person_observer
  • XR_MSFT_secondary_view_configuration

Unity SDK

This release adds:

  • The Magic Leap 2 Light Estimation OpenXR Feature, GetTimestamps() method, to AndroidCamera API. This allows users to determine and validate capture rate.
  • The Magic Leap 2 Pixel Sensor OpenXR Feature.

Unreal SDK

This updates includes a new Magic Leap 2 Light Estimation Feature and Example, the Magic Leap 2 Pixel Sensor Feature and Example, collision and occlusion examples for MagicLeapWorldMeshing, and many more changes.

Soundfield (MSA) SDK Unity Plugin

This update removes OS Offload mode. This option no longer appears on the MSAGlobalScriptableObject. This update also includes a bug fix for the MLAmbisonicSource Gain slider.

Soundfield (MSA) SDK Unreal Plugin

This update removes OS Offload mode. This option no longer appears on the MSAGlobalScriptableObject.

MRTK3

This update incorporated better pinch detection and then retention when hand keypoints become occluded. It also added a StereoConvergenceDetector utility prefab to assist in utilizing Magic Leap's camera focus distance feature, which provides better capture alignment along with reduction/removal of "judder" on device in some scenarios. The Spatial Awareness Examples sample was updated to work when using the OpenXR provider.

Systems & Performance

AR Cloud Localization and Mapping Services

Version update of the localization and mapping services to version 2.1.2. This version includes improved map accuracy through enhanced detection capabilities of revisited locations in the map.

Battery Mode (Formerly "Battery Saver")

The Battery Mode setting now allows the end user to choose between three modes of operation:

Maximum Performance: Maximum system performance with no battery life optimization, resulting in shorter battery life.

Optimized Performance: Balances system performance and battery life optimization.

Enhanced Performance (preview): Prioritizes battery life optimization; includes preview battery life optimization features.

Optimized Performance is the default for ‘clean’ (erase userdata) flashing of the latest software build and for factory reset use case. For upgrade use cases (e.g., upgrading from a prior software release without erasing user data), the former Battery Saver setting will be mapped to the new Battery Mode setting as follows:

  • Battery Saver disabled will be mapped to Maximum Performance.
  • Battery Saver enabled will be mapped to Optimized Performance.

CAUTION: For some use cases, the selection of the Enhanced Performance option may significantly increase device performance. In some cases, application instability or performance degradation may be noted. Please experiment with the Enhanced Performance option and share your observations with the Magic Leap team.

  • Likely Performance Enhancement: Remote rendering and high-resolution camera RGB capture.
  • Likely Performance Degradation: Hand tracking.

Audio Capture

Mixed capture mixing levels have been updated. Relative levels of voice, world, and virtual capture streams in mixed capture are no longer adjusted based on the current master volume level, but are now fixed for a more consistent user experience. Virtual content in mixed capture streams (including for Video Capture) is attenuated by 3 dB, while the dedicated virtual capture stream continues to present this material with no attenuation.

This release also added clipping protection on input capture streams.

Voice Service

Italian system intents and app intents are supported. In-app system intents are supported for all enabled languages; new for Modern Standard Arabic, EU Spanish, and EU French.

Voice Intent Development ToolKit (VIDTK):

  1. Supports all platform-supported languages.
  2. Introduces language detection feature to avoid using the language characters other than the target language.
  3. Improves spell checking capabilities for Japanese to avoid misspelling.

Developer Option - USB Debugging

In order 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.7.0 OS Release Notes.

1.7.0 Package Version Guide

Listed below are the version numbers of the packages that comprise the 1.7.0 update:

  • Magic Leap OS - 1.7.0 [ B3E.240418.09-R.060]
  • Unity SDK -2.2.0
  • C SDK - 1.7.0
  • Unreal SDK - 1.4.0
  • Soundfield (MSA) Unity - 3.4.6
  • Soundfield (MSA) Unreal - 3.4.4.1
  • MRTK3 - 1.0.0

Reminder: if you update to the latest SDK, you also need to update the OS on your device. If you are using Unity, be sure to 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.

That’s it for this month. Best wishes on your Magic Leap 2 project and we’ll see you on the Forum.

Best,

Magic Leap Developer Relations Team