Develop

Eye Tracking Overview

Updated: Sep 9, 2026
Eye Tracking on Meta VR Glasses and Meta Quest Pro detects eye movement and provides abstracted gaze data through the Eye Gaze API. Other Meta VR devices don’t support eye tracking. The API reports the eye pose so a user’s character can make eye contact with other users, which improves social presence. The same eye transform indicates where a person looks in 3D space, which reveals regions of interest and supports raycast targeting.

The social eye tracking API

The OVREyeGaze social API reports a separate pose for each eye and drives per-eye avatar transforms, so a character can make eye contact and convey attention. Add it to your project by following Eye Tracking for Movement SDK for Unity.
using UnityEngine;

// Movement (social): one OVREyeGaze drives one eye, so a character uses two.
public class EyeGazeFollower : MonoBehaviour
{
    public OVREyeGaze eyeGaze;

    void Update()
    {
        if (eyeGaze.EyeTrackingEnabled)
        {
            // eyeGaze.transform now follows the tracked eye.
        }
    }
}

Choose between the social and interaction APIs

A second API reports where the user looks as one combined gaze pose for interaction input. OVRPlugin exposes this pose with a validity flag and a timestamp, so your app can drive gaze-based selection, pointing, and targeting from one direction vector. See Eye Tracking for Interactions.
Pick the social OVREyeGaze API for avatar and social presence, where each eye needs its own pose. Pick the interaction OVRPlugin API for gaze-driven input, where one combined gaze direction drives selection and targeting.

Project setup and permissions

Complete this project setup once before you add eye tracking to your scene.
Both eye tracking APIs use the same setup.
  1. Add the OVRCameraRig prefab to your scene from Packages/com.meta.xr.sdk.core/Prefabs/OVRCameraRig.prefab.
  2. Select the OVRManager component and set your headset under Target Devices.
  3. Under Quest Features > General, set Eye Tracking Support to Supported or Required.
  4. Under Permissions Request On Startup, enable Eye Tracking so your app requests the eye tracking permission at launch.
  5. On the headset, enable tracking under Settings > Movement Tracking.
  6. Open the Project Setup Tool from Edit > Project Settings > Meta XR, then select Fix All to fix the reported issues. See Project Setup Tool for details.
The steps above cover the eye tracking APIs on this page. Interaction SDK gaze interactions on a Unity XR rig also require the Eye Gaze Interaction Profile in your project’s OpenXR settings.

Policies and disclaimers

Your use of the Eye Tracking API must at all times be consistent with the Oculus SDK License Agreement and the Developer Data Use Policy and all applicable Oculus and Meta policies, terms and conditions. Applicable privacy and data protection laws may cover your use of Movement, and all applicable privacy and data protection laws.
In particular, you must post and abide by a publicly available and easily accessible privacy policy that clearly explains your collection, use, retention, and processing of data through the Eye Tracking API. You must ensure that a user is provided with clear and comprehensive information about, and consents to, your access to and use of abstracted gaze data prior to collection, including as required by applicable privacy and data protection laws.
Please note that we reserve the right to monitor your use of the Eye Tracking API to enforce compliance with our policies.
When a user enables eye tracking for your app, your app is granted access to real time abstracted gaze data, which is user data under the Developer Data Use Policy. You are expressly forbidden from using this data for Data Use Prohibited Practices in accordance with the Developer Data Use Policy. The eye tracking feature is powered by our Eye Tracking API technology.

Learn more