Skip to main content
Version: 20 Mar 2024

Controller

Controller Overview

The upgraded Magic Leap 2 controller offers the same functionality as the original controller, but it now includes an improved tracking system using two on-controller cameras. Below you can learn more about the controller buttons and sensors, touchpad gestures, and important changes from the Magic Leap 1 SDK.

Hardware Diagram

Controller Button Diagram

Button descriptions:

  • 1.a Ray Target
  • 1.b Bumper Button
    • Change VKB Layout (Single Press)
  • 1.c Trigger
    • Select (Trigger Pull/Release)
    • Press & Hold (Single Press),
    • Grab (Trigger Hold)
  • 1.d Touchpad
    • Scroll (Swipe Down/Up)
    • Slide (Swipe Left/Right)
  • 1.e Menu Button
    • App Menu for Developers (Single Press)
  • 1.f Home Button
    • Toggle Home/Mini Home (Single Press)
    • Recenter Home (Single Press)
    • Turn On/Wake Up Controller (Single Press)
    • Turn Off Controller (Hold for 4 sec)
    • Controller Reset (Hold for 10 sec)
    • Capture Shortcut (Home+Bumper)

Touchpad Gestures

Touchpad Gesture Diagram
  • 2.a. Touchpad
    • Scroll (Swipe Down/Up)
    • Slide (Swipe Left/Right)
  • 3.a. Swipe Down
  • 3.b. Swipe Up
  • 4.a. Swipe Left
  • 4.b. Swipe Right

Changes from Magic Leap 1

Magic Leap controller tracking technology has significantly changed. ML1 uses a combination of EM and IMU sensors to track the 6DOF pose of the controller. The Magic Leap 2 controller uses a combination of IR LED tracking and a lightweight SLAM tracker running on the IMU. Therefore, controller tracking should still work when there is no direct line of sight.

Because of the new tracking technology, there are a few things you should pay attention to when porting apps to Magic Leap 2:

  • The controller lacks the 12 visible LEDs arranged around the touchpad. All apps using this feature will need to alter the UX where necessary. The display LED is now replaced by a single status LED.
  • The controller can lose tracking if it is not in line of sight and is in an area of low-light, low-texture, or high dynamic scenes. These conditions can break SLAM tracking.
  • The controller tracking degrades in performance if it is out of line of sight for extended periods of time.

Best Practices

Avoid the following controller interactions

  • Trigger hold+touchpad swipe is not a comfortable interaction for some people.
  • Frequent combined controller interactions (for example, pressing several buttons at the same time) are not comfortable.
  • Touchpad double taps: Every user has a different idea of how quickly they should tap, which leads to false positives and frustration.
  • Touchpad force press: Every user has a different idea for how hard to press down on the touchpad, which leads to false positives and frustration.

Overlay digital tooltips on the controller with caution

The controller is outside of the user’s field of view, and so any tooltips will be obscured from view unless attention is directed to them. Moreover, the offset or jitter of digital tooltips on the controller may be confusing to the user. In particular, avoid long small blocks of type locked to the control. The user must steady their head and hand to read them.

info

ML2 now supports only one controller at any given time. ML1 had unofficial support for two controllers. The Magic Leap 2 APIs will be updated to remove this functionality and force developers to use only one controller.

info

To find resources for troubleshooting controller issues, such as turning it on/off, click here