Much like UE4 itself, the SDK is designed around the idea that the best documentation is the code itself. As such, we have tried to comment as well as we could and taken great care in making sure cruft doesn’t pile up. That being said, while the code will tell you all the details, it is not great for seeing the bigger picture, or explaining why a certain piece of code is necessary. That is why we will go through the major concepts and design patterns we recommend in this part of the documentation.

The UE4 API is divided into several modules to make it possible to easily extend the SDK without sacrificing patchability. We can in this way for example offer the public SDK as is, and if a developer needs some specific functionality that does not exist in the public package, we can simply send them a supplementary module with the necessary code. The modules also logically separates the different parts of our functionality, making the relationships between them more clear.

The API uses UE4 Console Variables (CVars) extensively, making it easy to tweak certain features in runtime, or to turn debugging visualizations on and off. Check this page out to have a look at the most useful ones.

SDK modules:

TobiiCore

The core module is the lowest level module that is responsible for communicating with eye tracking devices and receiving data from them.

TobiiGTOM

The Gaze-To-Object-Mapping (GTOM) module contains all code necessary to map gaze data to objects in the world. Do not make the mistake of ignoring this as GTOM is vital to designing good eye tracking experiences.

TobiiInteraction

The interactions module contains drag-and-drop components and blueprint functions to help you get started with implementing gaze interactions into your game.