Product Updates

Lumin OS 0.96 and SDK 0.21

| Andrew Rabinovich and John Monos

Today, we release LuminOS version 0.96 and Lumin SDK version 0.21, our fifth software update since we launched the Magic Leap One in August 2018.

Customers who purchased our Professional Developer Package should receive early access to Lumin OS 0.96 software. The release also becomes available for direct download on our Creator Portal. Over-the-air updates for all customers will be staged from Thursday through the remainder of the week.

Note: If you are on an older release such as LuminOS 0.91, 0.92, 0.93, you are required to update the device with the pending software OTA in order to receive OTA trigger of LuminOS 0.96 - reason being the skipOSversion OTA feature was only introduced in 0.94

Software updates like these are not only an opportunity to build trust and transparency with our community, they are a key tenet of how we want to build our software. They let us develop along 2 distinct yet parallel paths. The first path gradually improves key features users expect and slowly matures our software towards a top-quality consumer-grade experience.

The second path moves us towards major architectural goals that will make the Magicverse a reality. Each of our updates gives us the opportunity to achieve milestones on that path.

In 0.96, we are again iterating on both of those paths.

Iterating on key experiences

Our philosophy has always been to continually improve our core experiences with each release. One such improvement is the increased number of Avatars that can participate in Social chat/calls. This release enables up to five participants, and in the 0.95 release we introduced Avatar personalization (face, hair, torso, accessories, etc.).

We have improved dynamic resolution for our text legibility in our browser, Helio. Webpage textures are now re-rendered based on available physical pixels at a distance instead of down sampling the texture. This yields the best possible page rendering quality.

For perception, we have improved calibration and algorithms related to gaze estimation. More importantly, we improved hand tracking by upgrading to a 15-keypoint model that covers the full hand with 5 fingers. Detection of near surface gestures has been enhanced as well.

Also related to perception, dynamic occlusion for hand tracking, which was also announced at L.E.A.P., will be released as part of 0.97 as an experimental app-level feature for developers.

For Lumin SDK, you can now access 30 frames per second (FPS) of raw camera data. We have added sample apps in the SDK to test our controller, meshing, and Persistence Coordinate Frames (PCFs) APIs. PCFs are spatial anchors for our developers’ convenience. We have added stereo video rendering to Magic Leap Media Player for Unity and integrated contacts API and polygonal planes API for Unreal. We have also added new connectivity status APIs that developers can use to query WI-FI status.

For tools, we have added PCF support for Virtual Rooms in Magic Leap Remote and added Multi-viewport support for Lumin Runtime Editor. Finally, we’re releasing drivers and an API for Wacom tablets for input on Magic Leap devices through both Unity and Lumin.

More about the Magicverse


In its purest form, Magicverse constitutes layers of applications and services built on a digital representation of the physical world created by the sum of existing spatial devices. The resulting experience is designed to be ubiquitous and cross-platform. High level Magicverse-enabled platform features such as multi-user or object recognition are layered on top of this digital representation of the world and made available to services and apps. All these layers must be established with absolute respect for each individual’s privacy.

The Magicverse requires two essential architectural components: Protocols to handle large-scale mapping across geographies and between compatible devices Frameworks that permit cross-platform development on top of the Magicverse

For cross-platform development, we seek to enable the creation of experiences accessible to all mixed-reality devices whether head-mounted displays, tablets, or phones. They should all be able to participate in the Magicverse, but many tools, frameworks, and standards must be developed and integrated to make the Magicverse a reality.

MagicScript + WebXR

WebXR is a critical component of this strategy. We will deploy WebXR through both our Helio browser and MagicScript.

With Lumin OS 0.96, Helio browser introduces the developer preview for the W3C WebXR standard. You can create immersive WebXR experiences with common frameworks like A-Frame and Three.js.

MagicScript blog

As promised earlier, enables you to write 3D apps using WebGL and xeogl 3D visualization. You can leverage existing WebGL code to create content for Magic Leap. MagicScript supports most commonly used APIs of WebGL 1.0 now and a limited set of functions from WebGL 2.0. Additional WebGL functionality is scheduled in upcoming releases. See the Lumin OS release notes for limitations and details.

In 0.96, MagicScript also supports WebGL rendering to a quad node in Landscape using PlanarResource. WebGL transition to Immersive mode should be available for Lumin OS 0.97. Today’s implementation should allow you to explore concepts until full immersive mode comes online in 0.97. A few days ago we released the MagicScript Components framework as open source, this framework lets you build Landscape apps with React.js, declarative elements, and JavaScript. Try it here.

These components are based on UIKit so themes and functionality align with our Magic Leap UI style.

Documentation & samples are available on our Creator Portal and at We also have external webgl samples available for example code.

Towards Large Scale

In our last post, we announced that our “shared world” functionality was available as an experimental feature in Lumin OS 0.95. Shared world and its related functionality (localization and geo-localized content sharing, among others) are all enabled with a common 3D digital map of the world. This same map will be instrumental in laying the foundation of the Magicverse and enable future features.

The more prevalent and scalable this map is, the more ubiquitous the Magicverse will be. As data is added, this digital map will update and expand to reach city and, ultimately, world scale. With Lumin OS 0.96, we improve our capacity for large scale mapping with support for vertical exploration. This means you can build maps over several different floors with persistence, multiple users, etc. extending across different physical levels.

We also now support mesh persistence across sessions for single user localization. This means you can record your session with your mesh and get the mesh back when you resume your session. Dense mesh will eventually combine with map merge algorithms to build a detailed representation of the world that is shareable and accessible by all, in accordance with each user’s rights and permissions.

As a reminder, Lumin OS .97 should be coming later this summer - among the big ticket items are further Magicverse development as well as international deployment and enterprise enablers.

Before I conclude, I would like to leave you with this: one of our developers wrote a Twitter client using MagicScript with only 160 lines of JavaScript code. Check it out here.

As always, I would like to thank the community of users and developers for their feedback and initiatives.

Yannick Pellet, SVP of Software

Related content

Get the latest news and updates

Sign up to receive offers, promotions and other marketing emails from Magic Leap. You can opt out of them at any time.

Sign up to receive offers, promotions and other marketing emails from Magic Leap. You can opt out of them at any time.