Eye Tracking
Extension introduction
XR_EXT_eye_gaze_interaction and XR_HTC_eye_tracker allows developers to create an application with eye gaze interaction.
Supported Platforms and Devices
Platform | Headset | Supported |
Eye Gaze
Supported Plugin |
Advanced Eye Tracking ※
Supported Plugin |
|
PC | PC Streaming |
Focus3/XR Elite
/Focus Vision |
V |
OpenXREyeTracker (UE built-in)
ViveOpenXR 2.4.2 and above |
ViveOpenXR 2.4.2 and above |
Pure PC | Vive Cosmos | X | X | X | |
Vive Pro series | V |
OpenXREyeTracker (UE built-in)
ViveOpenXR 2.4.2 and above |
ViveOpenXR 2.4.2 and above | ||
AIO |
Focus3/XR Elite
/Focus Vision |
△ | OpenXREyeTracker (UE built-in) | X |
※ Advanced Eye Tracking include Eye Gaze, Stereo Eye Gaze, Pupil, and Eye Geometric Data.
Plugins Overview
There are 2 plugins available for using Eye Gaze. One is UE5 built-in OpenXREyeTracker plugin, another is ViveOpenXR plugin. If you wish to use Advanced Eye Tracking features like stereo eye gaze, pupil, or eye geometric data, please select ViveOpenXR plugin.
Using OpenXREyeTracker plugin (only Eye Gaze)
- Edit > Plugins > Built-in > Virtual Reality > OpenXREyeTracker, enable it.
- Edit > Plugins > Search for OpenXR, and make sure it is enabled.
- Note that the " SteamVR " and " OculusVR " plugin must be disabled for OpenXR to work.
- If you enable ViveOpenXR plugin as well, make sure that the HTC Eye Tracker must be "disabled" inside Edit > Project Settings > Plugins > Vive OpenXR > Enable HTC Eye Tracker under HTC Eye Tracker .
- Restart the engine for the changes to take effect.
⚠ IMPORTANT |
ViveOpenXR plugin HTC Eye Tracker must be disabled if using OpenXREyeTracker plugin. |
Using ViveOpenXR plugin (Eye Gaze with Advanced Eye Tracking)
- Edit > Plugins > Built-in > Virtual Reality > OpenXREyeTracker, disable it.
- Edit > Plugins > Search for OpenXR and ViveOpenXR, and make sure they are enabled.
- Note that the " SteamVR " and " OculusVR " plugin must be disabled for OpenXR to work.
- Edit > Project Settings > Plugins > Vive OpenXR > Enable HTC Eye Tracker under HTC Eye Tracker to enable OpenXR HTC Eye Tracker extension.
- Restart the engine for the changes to take effect.
⚠ IMPORTANT |
OpenXREyeTracker plugin must be disabled if using ViveOpenXR plugin HTC Eye Tracker. |
How to use Eye Gaze
NOTE: Eye Gaze is supported on both OpenXREyeTracker plugin and ViveOpenXR plugin.
- For the available eye gaze functions, please refer to EyeTrackerFunctionLibrary.h.
- Type Get Gaze Data to get the eye gaze data blueprint function.
- Set the Out Gaze Data to a variable and break the data for more specific use.
How to use Advanced Eye Tracking (Stereo Eye Gaze, Pupil, and Eye Geomrtic Data)
NOTE: Advanced Eye Tracking is only supported for using ViveOpenXR plugin.
- Select Edit > Plugins > Built-in > Virtual Reality > OpenXREyeTracker, disable it.
- Select Edit > Project Settings > Plugins > Vive OpenXR > Enable HTC Eye Tracker under HTC Eye Tracker to enable OpenXR HTC Eye Tracker extension.
- For the available eye tracker functions, please refer to EyeTrackerFunctionLibrary.h and ViveOpenXREyeTrackerFunctionLibrary.h.
- Type Get Stereo Gaze Data to get the stereo eye gaze data blueprint function.
- Set the Out Gaze Data to a variable and break the data for more specific use.
- Type Get HTC Eye Gaze Valid Data to get the isValid data of individual left and right eyes gaze.
- Type Get HTC Pupil Data to get the Pupil data of individual left and right eyes.
- Type Get HTC Eye Geometric Data to get the Geometric data of individual left and right eyes.
Play the sample map
- The sample map is under Content > EyeGaze > Map .
- Start playing the EyeGaze map, and the color of the block on the dart board becomes yellow when staring at the block.
- With using ViveOpenXR plugin HTC Eye Tracker, you will see the HTC Eye Gaze Valid Data, HTC Pupil Data, HTC Eye Geometric Data shown on the black widget on the right front. Please refer to the previous section for knowing how to use ViveOpenXR plugin.