Integrations

Integrating AcceleratXR into your game client or application is easy. A client SDK is provided for all popular languages and game engines.

Languages & Platforms

The AcceleratXR client SDK is available for the following languages and engines:

Common Structure

All of the SDKs share a common structure.

namespace axr::sdk
{
    namespace models
    {
        User
        ...
    }
    namespace services
    {
        UserService
        ...
    }
    namespace utils
    {
        EntityWatchdog
        ...
    }
    ClientSDK
    Configuration
    ServiceFactory
}

ClientSDK

The ClientSDK class is the entry point to the SDK and is where applications begin their integration. The ClientSDK takes a Configuration object as the only argument to its init function which initializes the SDK. Once initialized the application can make calls to any Service class desired.

This class also provides utility functions for performing user login and account registration.

Models

All of the data models used throughout the code base are located in the src/models folder. There is a single file for each data model. Any time a request is sent or received from an AcceleratXR cluster it will use one of these data models.

Services

The Service class is how to make a request to the AcceleratXR cluster for a particular data model. Not all data models will have corresponding service classes but every service class must have a corresponding data model. The class provides function mapping for each operation allowed on a given data model to its corresponding service.

All of the service classes are located in the src/services folder.

Service Factory

The ServiceFactory is a special class that manages the instances of each Service class. It is a singleton class that can be accessed from anywhere in your application and provides a convenvient interface for retrieving Service class instances for a given data model.

EntityWatchdog

The EntityWatchdog is a utility class that makes it easy to monitor changes to a particular data model that occur on the backend. It is implemented as a static class that allows for the binding of multiple callback functions associated with a given entity object. The watchdog will then listen to the backend for any changes to the data model and execute the callback function with the updated data.