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 also 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.
The SDK modules are:
The SDK is highly configurable and debuggable using CVars. This page lists the most commonly used ones.
The core module is the lowest level module that is responsible for communicating with eye tracking devices and receiving data from them.
The G2OM module contains all code necessary to map gaze data to objects in the world.
The interactions module contains drag-and-drop components and blueprint functions to help you get started with implementing gaze interactions into your game.