Can eye pose and gaze be queried directly in the Magic Leap 2 device/head coordinate frame?

ML2 OS version: 1.10.0
Unity SDK version: 2.6.0
Host OS: MacOS

Could you please confirm whether Magic Leap 2 can directly provide the following data in the device/head coordinate frame?

  • Left eye position
  • Right eye position
  • Left eye rotation
  • Right eye rotation
  • Fixation/vergence position or direction
  • 3D gaze position or direction

In particular, does DeviceCenteredEyeData.LeftEye and DeviceCenteredEyeData.RightEye provide the left/right eye pose directly relative to the Magic Leap headset/device frame?

For each of the quantities above, could you also clarify:

  • the recommended API/property to use,
  • the reference frame in which the value is originally reported, and
  • whether it can be obtained directly in the device/head frame?

Is there also a direct API/property for obtaining fixation and 3D gaze position or direction in the same device/head coordinate frame?

Thank you.

Hi,

Magic Leap 2 provides access to per-eye pose and gaze data through the Unity Input System (via OpenXR / Magic Leap Unity SDK) and the underlying XR_ML_eye_tracker extension.

Magic Leap eye tracking data does not report raw metrics directly in the local physical headset device frame by default. Instead, Unity’s Input System reports eye poses in Unity’s World/XR Local Origin frame (or the tracker’s reference space). However, you can convert all eye and gaze values directly into the headset/device frame by multiplying them by the inverse matrix of the Main Camera / XR Head Pose transform.

DeviceCenteredEyeData.LeftEye and RightEye (or the EyeTracker device layout in Unity) provide eye pose data relative to the active XR Origin/Tracking Space, not as a fixed static offset relative to the raw device origin.

Let me know if you need more info,

Thank you,