How to Record Eye Tracking Data from External VR and Desktop Applications with SightLab’s External Data Recorder

October 11, 2026

‍

‍

SightLab’s new External Data Recorder makes it possible to collect and analyze data while participants use applications that are running outside of SightLab.

This opens up a wide range of research possibilities: SteamVR experiences, Unity and Unreal applications, Meta apps, standalone headset applications, web-based VR, desktop applications, and even first-person games can all become part of a SightLab study.

The External Data Recorder captures the application window along with supported eye tracking and physiological data, then synchronizes everything for analysis and replay. New post-processing tools can also use AI object detection to determine what participants looked at and calculate metrics such as dwell time, fixations, and dwell counts for detected objects.

For the complete setup, configuration options, and hardware-specific instructions, see the External Data Recorder documentation.

How the Workflow Works

At a high level, using the External Data Recorder involves just a few steps:

1. Prepare the Application You Want to Study

First, launch the VR or desktop application that participants will use.

For VR applications, you will typically also open the headset’s mirror view on the desktop. The exact method depends on the headset—for example, SteamVR VR View, Meta/Oculus Mirror, or the Pimax Mirror window.

For standalone Meta applications, the headset display can instead be cast to the desktop for recording.

Tip: Do not minimize the application or HMD mirror window during calibration or recording. It can be covered by another window, but it must remain open.

Also, at this point if you are measuring synchronized physiological data from something like Biopac’s Acqknowledge software, make sure that is set up and configured. 

2. Launch the External Data Recorder

The easiest way to launch it is from the SightLab Dashboard:

Tools/Features → External Data Recorder

‍

‍

You can also open the External Data Recorder from Vizard or launch the script directly from the SightLab ExampleScripts folder.

When the recorder starts, choose the application or HMD mirror window that you want SightLab to capture.

‍

‍

3. Select Your Hardware Configuration

Next, select the configuration that matches your setup.

‍

‍

The new workflow includes configurations for VR headsets as well as non-VR desktop applications. For example:

  • Vive Focus Vision uses the SteamVR mirror view and supports eye tracking.
  • Meta Quest Pro can collect eye tracking while running PC-Link applications, while Quest 3 can use the center of the HMD view as its gaze point.
  • Pimax Dream Air uses the Pimax mirror window with its corresponding eye tracking configuration.
  • Desktop mode treats the mouse position as the gaze point.
  • Desktop First Person mode treats the center of the application window as the gaze point, making it useful for first-person games and similar applications.

Check the main documentation for the latest list of supported configurations and the setup guide for your hardware.

4. Calibrate Eye Tracking, When Required

For configurations with supported eye tracking, SightLab can run an eye calibration before the recording begins.

‍

Participants fixate a series of calibration points followed by validation points. The resulting calibration information is saved so it can be reused and applied to the recorded session.

Configurations that use the mouse or center of the screen as the gaze point do not use this calibration stage, since the mouse / screen position is consistently known.

5. Record the Session

After setup and participant information are complete, start the recording.

SightLab synchronizes the recorded application video with the available data streams. Depending on the selected hardware, this can include eye tracking and additional physiological or device data.

This means the participant can simply continue using the external application normally while SightLab handles the research data collection.

‍

‍

Turn the Recording into Gaze-on-Object Data

‍

‍

One of the biggest additions to the new External Data Recorder workflow happens after the participant finishes the session.

SightLab can post-process the video using AI object detection and determine which detected objects intersect with the participant’s gaze.

Two approaches are available:

Standard object detection identifies common object classes, while open-vocabulary detection allows researchers to specify the types of objects they want the system to look for.

Post-processing can then generate CSV data containing gaze metrics such as:

  • Fixations
  • Dwell time
  • Dwell counts
  • Detected object
  • Detected object class

It also generates a version of the session video with the gaze point and detected objects overlaid, making it easy to visually inspect what happened during the experiment.

To set custom objects, open the Posprocess_Config.py file inside the main project folder in the Vizard IDE or in Notepad and set USE_OVD = True, then put in the name of the OVD Class you want to track (e.g. “coffee mug”) 

‍

‍

Replay and Review

The External Data Recorder also creates recordings that can be loaded into the External Data Replay.

‍

‍

This provides a synchronized visual representation of the participant’s session and makes it easier to review gaze behavior alongside the recorded external application.

By default, session recordings and processed videos are stored in the External Data Recorder's recordings folder, while experiment data and gaze-on-object results are stored with the corresponding SightLab data files.

The replay can also fully synchronize with physiological data from Biopac’s Acqknowledge, where scrubbing the replay playback slider will also scrub the physiological data playback. 

To launch the replay from the Dashboard select “Replay” from the actions button, then select your session and video.

‍

‍

The transcoded video is the original video with only the Sightlab replay gaze point overlaid (i.e. no object detection bounding boxes), while the overlay video has the imprinted gaze point and object detection bounding boxes.

A Good First Test

Before collecting participants, run a short practice session.

Look deliberately at several recognizable locations or objects in your application, record the session, and then inspect the processed recording and gaze overlay.

This is a quick way to verify that:

  • the correct application window is being recorded,
  • the HMD mirror is configured correctly,
  • eye tracking is available,
  • calibration is accurate, and
  • the recorded gaze point lines up with what you actually viewed.

It is much easier to correct a headset, runtime, mirror-view, or calibration setting during a test session than after collecting study data.

Where to Go Next

The External Data Recorder is designed so the basic workflow stays similar across applications:

Open application → select recording window → choose hardware → calibrate if needed → record → post-process → analyze/replay

The details of preparing the mirror window, OpenXR runtime, eye tracker, and other hardware settings vary by headset, so rather than duplicating those instructions here, use the complete documentation as your reference:

External Data Recorder Documentation →

From there you can find the hardware-specific guides, eye calibration settings, post-processing options, AI object detection configuration, replay workflow, and additional recorder settings.

‍

‍

Stay Updated
Subscribe to our monthly Newsletter
CONTACT US 
Phone +1 (888) 841-3416
Fax +1 (866) 226-7529
813 Reddick St
Santa Barbara, CA 93103