Release notes
Version 2.0 (2024-08-21)
IMPORTANT NOTICE
Tobii Pro SDK 2.0 comes with two important changes:
-
Due to architectural changes, Tobii Pro Spectrum will require the installation of a
dedicated Runtime to work with Tobii Pro SDK 2.0 (and applications built on Tobii
Pro SDK 2.0 or newer). The Tobii Network Runtime for Tobii Pro Spectrum will be
available via Tobii Pro Eye Tracker Manager 2.7.0.
-
Tobii Pro SDK 2.0 will not support deactivated Tobii eye trackers. The updated list
of supported and non-supported eye trackers is available here:
developer.tobiipro.com/tobiiprosdk/eyetrackercompatibility.html.
Improvements
- Data buffer added to all high throughput data streams in the Tobii Pro SDK
- This makes streams more resistant to data loss during short time periods of throttling of the Pro SDK process
- Removes problems issue with trackers disconnecting due to data callbacks not being consumed on time
- New notification added, warning users when a stream loses data
- Deprecated old APIs: trackbox
Improvements to the Tobii Pro SDK documentation
- Removed references to Octave
- Added Common Concepts article on stream buffering
- Added Common Concepts article on Tobii Pro Network Runtime
Limitations and Known issues
- Python binding does not work when Spyder is installed (https://www.spyder-ide.org/)
- Rosetta is required when running Tobii Pro SDK on Mac computers with M1/M2/M3 processor
- Matlab - SDK reference guide links are broken for version 1.11. Please use documentation for version 2.0 or version 1.10.
Version History
Version 1.11.0 (2023-03-08)
Bug fixes
- 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
- Python binding does not work when Spyder is installed (https://www.spyder-ide.org/).
- Matlab - SDK reference guide links are broken for version 1.11. Please use documentation for version 1.10.
Version 1.10.2 (2022-12-07)
General Changes
- Releasing a new version of the Python binding.
Python binding
- Added support for Python 3.10.
Version 1.10.1 (2022-05-24)
General Changes
- 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.
Matlab Binding
- Improved error handling of data streams in Matlab binding.
- Dropped support for Octave.
Version 1.9.0 (2021-09-15)
Bug fixes
C Binding
- Improved stability and error handling of code examples
Python Binding
- Fixed broken Eye Image stream
Matlab Binding
- Applied a bug fix for monocular calibration
Linux
- Fixed a bug that caused
avahi_service_browser_new: Assertion 'client' failed
Mac
- Python wheel filename correction
General Changes
- 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
Python binding
- 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
.NET binding
- Migrated to .NET standard 2.0
- Added support for .NET core 3.0
- Added support for .NET 5
- Added support for Unity 2018.1
Unity
- 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
Equivalent".
- 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)
Bug fixes
Tobii Pro Spectrum
- 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
- 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.
All Bindings
- While a tracker is installing a firmware upgrade via their runtime the SDK will list it as offline.
.Net Binding
- Trackbox X and Y coordinates are no longes mixed.
General improvements
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.
All bindings
- 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.
General changes
Linux
- 32 bit binaries for Linux have been removed.
Known limitations
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
All bindings
- 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)
Bug fixes
Matlab
- Fixed issue with name collisions with PsychToolbox.
General improvements
Unity
- VR prefabs now use a more accurate lookup of the HMD's position at the exact time of each gaze data
sample.
Version 1.7.0 (2019-05-02)
General improvements
Python
- 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)
Unity plugins
- Removed dependency to SteamVR plugin (now works with both OpenVR and SteamVR).
Version 1.6.2 (2019-04-26)
Bug fixes
Unity
- Updated example scenes (CalibrationExample, InteractionExample) to work with older versions of Unity
(2017.x).
- 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)
Interface additions
All bindings
- 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
performance).
Note: The Tobii Runtime driver is only used by the Pro Nano (yet).
Bug fixes
Unity
- Fixed issue where some of the prefabs didn't work together with the new version (2.0) of the SteamVR
plugin.
All bindings (Windows only)
- 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
this release.
General improvements
.NET
- 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.
Interface additions
All bindings
- 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.
Bug fixes
All bindings
-
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
well.
Matlab
- 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
Simulink toolbox.
the Tobii Pro SDK class has changed name (from Capabilities) to EyeTrackerCapabilities to
remedy this.
Version 1.5.0 (2018-05-24)
Octave support!
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.
Interface additions
All bindings
- 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
1.7.5.
Two new notifications have been added in relation to this: EyeTrackingModeChanged, and CalibrationChanged
(Note:
calibrations cannot be reused between eye tracking modes on Tobii Pro Spectrum).
Interface additions
All bindings
- Two new notifications EyeTrackingModeChanged, and CalibrationChanged (names vary slightly depending on
binding)
Bug fixes
All bindings
- Fixed memory leak when streaming eye images in GIF format.
Matlab
- Fixed issue with HMD eye trackers (fix also released in 1.3.1 patch release)
Python
- Fixed issue introduced in 1.3.0 with computeAndApply method in calibration (fix also released in 1.3.1
patch release)
.NET
- Fixed issue where EyeTrackingOperations.GetEyeTracker would return null for 4C trackers.
General improvements
Unity
- Examples and prefabs (that were previously in another package) have now been merged into the Tobii Pro SDK
Unity package.
- 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
- Calibration
- Track-box (screen based) resp. Positioning Guide (VR)
- Data saving (in XML format)
- Gaze trail
.NET
- 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
format.
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.
Note: This feature is only supported by the Tobii Pro Spectrum, and only on FW versions later than
1.5.0.
Interface additions
All bindings
- New class with new methods for monocular calibration (except in C binding, where there's only new
methods).
Bug fixes
All bindings
- Fixed memory leak when streaming eye images.
Unity
Version 1.2.1 (2017-11-22)
General improvements
All bindings
- 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!
Python
- Tobii Pro SDK now supports Python 3.5!
Unity
Version 1.2.0 (2017-10-11)
Interface additions
All bindings
- 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
Manager to
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
convenience!
C binding
- Three new error codes have been added to the TobiiResearchStatus enum:
-
TOBII_RESEARCH_STATUS_SE_CONFLICTING_API_INSTANCES
-
TOBII_RESEARCH_STATUS_SE_CALIBRATION_BUSY
-
TOBII_RESEARCH_STATUS_SE_CALLBACK_IN_PROGRESS
Bug fixes
.NET and Unity
- Fixed issue where you would get multiple event callbacks for each subscribed notification. No longer so -
"There can be only one!" ;-)
General improvements
-
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)
Interface additions
Unity
- New method, Terminate(), for making sure SDK resources are released.
.NET and Unity
- New event type EyeImageRawEventArgs, for getting eye images formatted as raw pixel data (Tobii Pro
Spectrum only).
Bug fixes
- 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".
General improvements
- 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").
Interface additions
All
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)
C
- The TobiiResearchCalibrationResult struct now has a new property describing the status of the calibration
(TobiiResearchCalibrationStatus).
Please see API reference guide for corresponding language for details of new functions and objects!
Bug fixes
- Fixed issue with the Python language binding where you could not set the gaze output frequency to an
integer.
- 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)
Bug fixes
- 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
reinitialized.
- Fixed issue where you would get no gaze data from X3-120, Tobii Pro Spectrum and IS4 trackers if the eye
tracker
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.
Functionality changes
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.
Version 1.0
Since this is the first release of our new SDK, most new features and changes made compared to the previously
released SDKs
can be found in (Changes from Tobii Pro Analytics SDK 3. [update 2024-06-05: link/page removed as the information was
too out-of-date]).
However,
when releasing new versions, you will be able to find the release notes describing the changes between each
version on this page.