Version 1.11.0 (2023-03-08)
- Users can access the eye image stream for Fusion in the Python binding.
- User position guide subscriptions no longer interfere with gaze subscriptions.
- Users can correctly set eye tracking modes for eye trackers having more than 3 eye tracking modes.
Improvements to the SDK documentation
- Added ready-to-run .NET and Python code examples that present how to perform a User calibration while subscribing to the gaze signal. Corresponding C and MATLAB examples will soon follow.
Limitations and Known issues
Version 1.10.2 (2022-12-07)
- Releasing a new version of the Python binding.
- Added support for Python 3.10.
Version 1.10.1 (2022-05-24)
- Added support for Eye openness signal, a new signal provided by Tobii,
available in Tobii Pro Spectrum eye tracker with FW 2.6.1 and newer. Signal is
available on all Pro SDK bindings and for all supported OS versions.
- Tested compatibility with Windows 11 and Windows 10
- Tested compatibility with macOS 12 Monterey (on ARM64* Macs) and macOS 10.15 Catalina
- * Please refer to our Supported platforms and
languages page for information on how to successfully use Tobii Pro SDK v 1.10 on ARM64 (Apple
Silicon) Macs with macOS 12 Monterey.
- Improved error handling of data streams in Matlab binding.
- Dropped support for Octave.
Version 1.9.0 (2021-09-15)
- Improved stability and error handling of code examples
- Fixed broken Eye Image stream
- Applied a bug fix for monocular calibration
- Fixed a bug that caused
avahi_service_browser_new: Assertion 'client' failed
- Python wheel filename correction
- Updated OS to support Ubuntu 20.04 LTS
- Updated OS to support macOS 10.15 Catalina
- 32-bit binaries are no longer provided for any platform
- VR support is deprecated and will be removed completely in a future release
- Added support for python 3.8
- Removed support for python 2.7
- Removed hidden imports that caused packaging problems with pyinstaller (also solved autocomplete issues
with the binding)
- Wheel filename tag for linux updated to manylinux2014
- Migrated to .NET standard 2.0
- Added support for .NET core 3.0
- Added support for .NET 5
- Added support for Unity 2018.1
- Removed dependency on Mono library (.NET standard 2.0 is supported natively in Unity).
- To run the SDK in Unity you need to set the Scripting Runtime Version in the Project Settings to ".Net 4.x
- To upgrade the SDK from 1.8 to 1.9 in Unity you need to remove the old package before importing the new
package to avoid cleanup issues.
Version 1.8.0 (2020-06-18)
Tobii Pro Spectrum
Tobii Pro X3-120
- In previous SDK versions, there was an issue with gaze samples arriving with high latency (100+ ms) on a
regular basis (every two seconds). In this release, latency of gaze samples is stable.
- Tobii Pro X3-120 only provides pupil measurements for every third sample (40hz). Now the samples without
pupil data will have the pupil diameter set to NaN and Invalid instead of 0 and Valid.
- While a tracker is installing a firmware upgrade via their runtime the SDK will list it as offline.
- Trackbox X and Y coordinates are no longes mixed.
Tobii Pro Fusion
- Added monocular calibration for Tobii Pro Fusion.
- Added frequency change notification for Tobii Pro Fusion.
- Added eye images for Tobii Pro Fusion.
- Added diagnostic archive for Tobii Pro Fusion.
- Added support for multiple regions per camera image in the eye image stream. Each image has an additional
property that indicates which region it represents.
- 32 bit binaries for Linux have been removed.
Tobii Pro VR Integration
- For version 1.8.0 there will be a license that have to be applied to unlock VR data streams. Please
download it here
- Changes in the name property of a tracker from another client will not be reflected in the device info of
the tracker until the application is restarted.
Version 1.7.1 (2019-07-12)
- Fixed issue with name collisions with PsychToolbox.
- VR prefabs now use a more accurate lookup of the HMD's position at the exact time of each gaze data
Version 1.7.0 (2019-05-02)
- Update to Python 3.6
Please note that this version of Pro SDK does not have support for Python 3.5. Use earlier
versions of Pro SDK together with Python 3.5.
- (Support for Python 2.7 still remains)
- Removed dependency to SteamVR plugin (now works with both OpenVR and SteamVR).
Version 1.6.2 (2019-04-26)
- Updated example scenes (CalibrationExample, InteractionExample) to work with older versions of Unity
- Updated positioning guide examples for VR to work with newer versions of Unity.
All bindings (Windows only)
- Fixed issue introduced in 1.6.0 where eye images could not be subscribed to (Tobii Pro Spectrum only).
Version 1.6.1 (2018-12-12)
- New property: Runtime Version - Eye tracker objects now has a new property, "runtime_version",
that reports which version of the Tobii runtime (driver) that is being used by the tracker.
This new meta data can be useful to store (together with firmware_version) when doing recordings to
ensure that they can be reproduced later (as version of Tobii Runtime potentially could effect eye tracker
Note: The Tobii Runtime driver is only used by the Pro Nano (yet).
All bindings (Windows only)
- Fixed issue where some of the prefabs didn't work together with the new version (2.0) of the SteamVR
- Fixed issue introduced in 1.6.0 where latency of gaze data from tracker would sometimes spike up to 100ms.
Any user creating experiments with gaze contingency is strongly advised to upgrade from 1.6.0 to
- Constructors for HMD gaze data objects have been made public (previously internal).
Version 1.6.0 (2018-11-07)
Pro Nano support!
This version adds support for the new Tobii Pro Nano eye tracker. Note: The Pro Nano will
not work with previous versions of Tobii Pro SDK.
- New stream: Positioning Guide. This is a new stream for making it easier to help position a user in front
of the eye tracker. It works in the same way as the "Position in Track box coordinates", but is more
lightweight and better suited for use in GUIs.
Mac only: The system time stamp on macOS was not using a monotonic clock, which meant that
if a user (or NTP service) would update the computer's clock during an experiment, the time stamps of the
data could have been compromised. This has now been fixed, and the time stamps are now monotonic on Mac as
- Fixed issue where find_all_eyetrackers would fail with a "index out of bounds" type error if no
eye trackers were found.
- Fixed issue where the eye tracker property Capabilities clashed with a class with the same name in the
the Tobii Pro SDK class has changed name (from Capabilities) to EyeTrackerCapabilities to
Version 1.5.0 (2018-05-24)
This version extends the capability of the Matlab language binding so that it can be used with GNU Octave.
Octave and Matlab users can download the same binaries and use the exact same syntax (when communicating with
Tobii Pro SDK).
Just like the other bindings, Octave is supported on both Windows, Linux and Mac.
- Two new notifications DeviceFaults, and DeviceWarnings have been added. These notifications can
only be received from Tobii Pro Spectrum.
Version 1.4.0 (2018-04-11)
This version adds support for changing eyetracking mode on the Tobii Pro Spectrum (adding the possibility to
eye track macaques).
Note: This feature is only supported by the Tobii Pro Spectrum, and only on FW versions later than
Two new notifications have been added in relation to this: EyeTrackingModeChanged, and CalibrationChanged
calibrations cannot be reused between eye tracking modes on Tobii Pro Spectrum).
- Two new notifications EyeTrackingModeChanged, and CalibrationChanged (names vary slightly depending on
- Fixed memory leak when streaming eye images in GIF format.
- Fixed issue with HMD eye trackers (fix also released in 1.3.1 patch release)
- Fixed issue introduced in 1.3.0 with computeAndApply method in calibration (fix also released in 1.3.1
- Fixed issue where EyeTrackingOperations.GetEyeTracker would return null for 4C trackers.
- Examples and prefabs (that were previously in another package) have now been merged into the Tobii Pro SDK
- Prefabs have been added for screen based eye trackers
- Prefabs for VR tracker have been updated
- The following functionalities are now available as prefabs (for both VR and screen based eye trackers):
- Eyetracker discovery and management
- Track-box (screen based) resp. Positioning Guide (VR)
- Data saving (in XML format)
- Gaze trail
- Constructors for gaze data objects have been made public (previously internal). This can be useful if you
(for example) wish to generate mock data, or want to modify received gaze data while keeping the same
Version 1.3.0 (2018-01-19)
This version adds support for monocular (and bi-monocular) calibration - the ability to calibrate one eye at
the time, for example when studying eye movements of people with strabismus or similar conditions.
This feature is only supported by the Tobii Pro Spectrum, and only on FW versions later than
- New class with new methods for monocular calibration (except in C binding, where there's only new
- Fixed memory leak when streaming eye images.
Version 1.2.1 (2017-11-22)
- Dependent libraries are now bundled into the tobii_research library! You will no longer have to wonder
what the tobii_stream_engine, or tobii_pro libraries are! (except for .NET/Unity users, where tobii_pro.dll
still remains) - Because sometimes, less is more!
- Tobii Pro SDK now supports Python 3.5!
Version 1.2.0 (2017-10-11)
- New method, SetDisplayArea / set_display_area
This method can be used to set the display area of an eye tracker, i.e. the coordinates for the corners
of the display that the eye tracker is used with.
These coordinates are not trivial to calculate, and we strongly recommend to use Tobii Pro Eye Tracker
perform these calculations the first time.
But once you have the correct values, you can now use the new method to re-apply these at your
- Three new error codes have been added to the TobiiResearchStatus enum:
.NET and Unity
- Fixed issue where you would get multiple event callbacks for each subscribed notification. No longer so -
"There can be only one!" ;-)
Information and code examples have been added to the documentation explaining how to utilize Eye Tracker
Manager's command line options to remove the need to implement your own calibration routine.
New code example explaining how to use Tobii Pro SDK (Matlab) together with Psychtoolbox.
Version 1.1.4 (2017-08-30)
.NET and Unity
- New method, Terminate(), for making sure SDK resources are released.
- New event type EyeImageRawEventArgs, for getting eye images formatted as raw pixel data (Tobii Pro
- Fixed potential deadlock in FindAllEyeTrackers (if called from multiple threads)
- Fixed issue in C binding where it would crash when get_xx_property is called with NULL args
- Including C library in C++ no longer requires the use of "extern C".
- Tobii Pro SDK for Unity is now delivered as a Unity asset (.unitypackage)!
Version 1.1.0 (2017-06-14)
This version adds support for the new VR4 eye tracker development kit (known here as a "HMD eye tracker").
Adding support for VR/HMD eye trackers required making quite a few additions to the interface. These include:
- New stream data (HMDGazeData) - both new data objects and callback/event types
- New calibration (HMDBasedCalibration) - new object and methods
- New capabilities - extended enums
- New setting on EyeTracker (HMDLensConfiguration)
- The TobiiResearchCalibrationResult struct now has a new property describing the status of the calibration
Please see API reference guide for corresponding language for details of new functions and objects!
- Fixed issue with the Python language binding where you could not set the gaze output frequency to an
- Fixed issue on Matlab where arrays with invalid data returned NaN with wrong dimensions. Now returns
correctly sized arrays of NaN.
- Fixed rare issue where calling getDisplayArea could take very long time to complete.
- Some (potentially) misleading log messages removed.
Version 1.0.4 (2017-04-26)
- Fixed issue where licenses could not be applied when subscribed to streams.
- Fixed issue where eye trackers that changed IP address would not be rediscovered until SDK was
- Fixed issue where you would get no gaze data from X3-120, Tobii Pro Spectrum and IS4 trackers if the eye
was restarted during gaze streaming.
- Error messages about failed time sync will no longer be written to log for disconnected trackers.
- Non-responding eye trackers will no longer impact the discovery of (responding) eye trackers.
- Fixed issue with ExternalSignal stream from TX300 (currently the only eye tracker supporting this
functionality) eye trackers not being sparse.
Previously the eye tracker returned a numerical value (0 or -1) when not being able to determine a true
value. As this could create issues when analysing data we now return NaN (Not a Number) for these, supported
by all languages.
Since this is the first release of our new SDK, most new features and changes made compared to the previously
can be found in Changes from Tobii Pro Analytics SDK 3.
when releasing new versions, you will be able to find the release notes describing the changes between each
version on this page.