HTC Vive gaze module
The HTC Vive gaze module reads eye-tracking data from an HTC Vive headset’s built-in eye tracker
through HTC’s Vive Streaming SDK (VS_PC_SDK.dll), and publishes gaze rays, blink state and
pupillometry into HEAT Capture.
What you need
- Windows 10/11 x64.
- SteamVR running, with the headset connected and streaming.
- HTC’s Vive Business Streaming (VBS) driver installed. The module connects to it, not to the headset directly; if VBS is not installed or SteamVR is not running, the module never receives eye data. See Troubleshooting.
Process capability
This module declares the process.unrestricted capability, an explicit opt-out from HEAT
Capture’s default per-module process restriction. The Vive Streaming SDK’s background service
does not tolerate the restricted token HEAT Capture normally launches modules with; without the
opt-out it would fail to start. The module still runs out-of-process, signed and job-contained
like every other module - see Install a capture module for what that
means and how capability declarations are verified before a module starts.
Settings
There is one setting of its own, SendAtNativeRate (boolean, default true), under
HEAT.HTCGazeModule:
true(default): each eye-data update from the Vive Streaming SDK is published immediately, at whatever rate the headset’s eye tracker delivers it.false: HEAT Capture’s own per-tick poll publishes the most recently received eye-data update instead, replaying it across ticks if nothing new arrived.
Beyond that, it exposes only the generic settings every module has (Enabled, Interval,
OverrideNodeId/NodeId, Timeout) - see
Manage capture modules.
Interface Control Document
See Interface control document for Vive Streaming SDK entry points, status transitions, callback payload layout, sample validity, frame publication and restart limits.
Pages
- Data produced: what is published, what the native SDK sends but this module discards, and how blink is derived.
- Troubleshooting: symptoms, causes and fixes.