The IrisTrackingModule class allows you to track the location of people's irises in your effect, to create effects such as eye color replacement.


// The following example demonstrates how to bind the position and rotation of
// objects to the eyeball and iris.
// Project setup:
// - Insert two planes
// - (Recommended) Decrease the scale of the planes and assign materials to them

// Load in the required modules
const FaceTracking = require('FaceTracking');
const IrisTracking = require('IrisTracking');
const Scene = require('Scene');

// Enable async/await in JS [part 1]
(async function() {
  // Locate the planes in the Scene
  const [centerPlane, irisPlane] = await Promise.all([

  // Store a reference to a detected face
  const face = FaceTracking.face(0);

  // Store a reference to the left eyeball
  const leftEyeball = IrisTracking.leftEyeball(face);

  // Store a reference to the center and iris plane's transform
  const centerPlaneTransform = centerPlane.transform;
  const irisPlaneTransform = irisPlane.transform;

  // Store references to the eyeball center, iris and rotation
  const leftEyeballCenter =;
  const leftEyeballIris = leftEyeball.iris;
  const leftEyeballRotation = leftEyeball.rotation.eulerAngles;

  // Bind the position of the eyeball center to the center plane
  centerPlaneTransform.x = leftEyeballCenter.x;
  centerPlaneTransform.y = leftEyeballCenter.y;
  centerPlaneTransform.z = leftEyeballCenter.z;

  // Bind the position of the the eyeball iris to the iris plane
  irisPlaneTransform.x = leftEyeballIris.x;
  irisPlaneTransform.y = leftEyeballIris.y;
  irisPlaneTransform.z = leftEyeballIris.z;

  // Bind the rotation of both planes to the eyeball rotation
  centerPlaneTransform.rotationX = leftEyeballRotation.x;
  centerPlaneTransform.rotationY = leftEyeballRotation.y;
  centerPlaneTransform.rotationZ = leftEyeballRotation.z;

  irisPlaneTransform.rotationX = leftEyeballRotation.x;
  irisPlaneTransform.rotationY = leftEyeballRotation.y;
  irisPlaneTransform.rotationZ = leftEyeballRotation.z;
// Enable async/await in JS [part 2]


This module exposes no properties.


leftEyeball(face: Face): Eyeball

Returns an Eyeball object for the given face, containing information about the 3D position of the left eyeball.
rightEyeball(face: Face): Eyeball

Returns an Eyeball object for the given face, containing information about the 3D position of the right eyeball.


EyeballThe Eyeball class exposes details of a tracked eyeball.