2.3 MagicScript Apps Design

MagicScript is based on Lumin Runtime, so it has many native features, including app placement for Landscape apps taken care of by Universe, the Landscape app manager. Features from Lumin Runtime that can be used in MagicScript include:

  • Universe offers the ability to move the physical location of the app, as well as rotate the prism and change its scale. This is something that comes with being a Landscape app on the Magic Leap device.

  • Control input is handled by Lumin Runtime. The 6DOF controller interacts with existing UI elements that come from UiKit.

  • Built-in MSA.

  • A UIKit of UI widgets that we expose in MagicScript Components.

Landscape Apps in MagicScript

While Unity and Unreal can only create Immersive apps, MagicScript and Lumin Runtime can create Landscape apps as well as Immersive apps. MagicScript Components only create Landscape apps. The feature sets for Immersive apps differ from those for Landscape apps, based on privileges defined in the app manifest.

Multiple Landscape apps can run in Universe at the same time. Landscape apps have a defined volume for the prism, the app's space, and cannot display anything outside the bounds of that prism. The prism claims its volume in Universe, preventing other apps from using that space. If there isn't sufficient room for its prism, the app does not display.

When designing a MagicScript Landscape app, respect the user's space and optimize for efficient use of it. By default, content remains in the middle of the prism. By changing the prism's depth, the content can be positioned elsewhere within the prism. See Design Using Lumin OS for more things to consider when designing an app.

Multiple Landscape apps can run in Universe at the same time, as well as multiple instances of the same app. These multiple instances can have different settings and different views. These instances are separate prisms in Universe that exist in the same application process, which means they share global variables as well as a debugging session.}