Our SDKs provide an easy way to quickly integrate ChilliConnect in to your game. If the SDK you want is currently unavailable you can still call our HTTP API directly.



I agree to the Terms of Service

The Unity SDK describes a C# API for ChilliConnect and comes bundled as a Unity Package which can be easily added to your project. The SDK is written entirely in C# and does not require any plugins. The following details how to install and use the SDK. You can also browse the Doxygen documentation.


Follow these steps to include ChilliConnect in your Unity project:


The following describes the steps requested to setup ChilliConnect in your Unity project.

using ChilliConnect;
var chilliConnect = new ChilliConnectSdk("<YourGameToken>", false);
var metrics = chilliConnect.Metrics;
Action<StartSessionRequest> successCallback = (StartSessionRequest request) =>
    UnityEngine.Debug.Log("Successfully started session!");

Action<StartSessionRequest, StartSessionError> errorCallback = (StartSessionRequest request, StartSessionError error) =>
    UnityEngine.Debug.Log("An error occurred while starting the session: " + error.ErrorDescription);

var desc = new StartSessionRequestDesc (userId, "Unity-v1.0");
metrics.StartSession(desc, successCallback, errorCallback);

See the full API documentation for more information on the available modules and methods.



I agree to the Terms of Service


The ChilliConnect Unreal SDK is based on Blueprints and is distributed as source code that must be built for your version of Unreal and development platform. The steps for doing this depend on your Unreal project type, C++ or Blueprints:

C++ Projects

To use the Plugin in a C++ project, you must first copy the source files of the Plugin to your project, then build the Plugin. Follow the instructions below to do this.

Blueprint Projects

To use the Plugin in a Blueprint project, you must first build and export the Plugin from a C++ Unreal project for your platform. The simplest way to do this is by opening the SDK project itself and building from there.


The Unreal project containing the ChilliConnect Plugin also contains a sample level with a Blueprint showing how to call ChilliConnect to create a new Player account, Login to ChilliConnect, and add a Leaderboard score. To use the Plugin in your own project:

Optional Properties

When constructing a request, any optional properties of the request can be set through a special "Optionals" object. The optionals object is then passed to specific methods to set any optional properties on the request. As an example, adding a node to call the the set Player Data method will show the below:

To set the optional properties of this request, first click and drag the "Optionals" property

Make a new CCSetPlayerDataRequestOptionalsDesc object, then click and drag the pin from the new object and expand the "Chilli Connect" item to see the list of available optional setters available for that request:

The Write Lock property for the Set Player Data request can be set like so:

Some properties in ChilliConnect responses can be also be optional and maybe returned from the server as null. These will be indicated as "(Optional)" in the response descriptor:

Before using the values of an optional response, you should check if the value has actually been set by ChilliConnect and has not just been initialised to the zero value for it's type. You can do this by dragging the response pin and expanding the "Chilli Connect" menu to see a list of "Has" methods for that request:

For example, in the Get Player Details call, we can check to see if ChilliConnect has returned a stored Platform for the currently logged in Player account:

Working with Multi Type Values

Many ChilliConnect API methods work with free form JSON rather than set request formats. The Multi Type Value object in the ChilliConnect SDK can be used to construct JSON structures through Blueprints. For example, if we wanted to store the below data against a player account:

    "Level1" : {
        "Status" : "COMPLETED",
        "Items" : [ 1, 2 ]

We would do this by first creating a Map variable in Blueprint with String keys and MultiTypeValue values. We'd then set the "Status" key by using the "Create String" MultiType helper in the ChilliConnect SDK:

To create the Items array, we'd then create a new array of MultiType values Blueprint variable, and use the "Create Int" helper to add items to this array. The array can then be added to the "Level1" map using the "Create Array" helper:

Finally, the "Level1" data can be added to the JSON object using the "Create Map" helper:

This final Multi Type object can then be passed to the Set Player Data method to save this JSON against the player's account.

Multi Type values can be parsed and read using the "As" methods available on Multi Type responses. For example, the below Blueprint will load the player data set above and print the Status property of the Level1 object:



I agree to the Terms of Service

The iOS SDK provides an Objective-C API for ChilliConnect that iOS developers should find easy to use. The following sections detail how to install and use the SDK. You can also browse the Doxygen documentation.


Follow the below steps to add the iOS SDK to your project:


The following are the steps required to setup the ChilliConnect iOS SDK for use in your project.

#import <ChilliConnect/ChilliConnect.h>
CCChilliConnectSdk *chilliConnect = [CCChilliConnectSdk chilliConnectSdkWithAppToken:@"<YourGameToken>" verboseLogging:NO];
CCMetrics *metrics = chilliConnect.metrics;
CCStartSessionResponseCallback successCallback = ^(CCStartSessionRequest *request) {
    NSLog(@"Successfully started session!");

CCStartSessionErrorCallback errorCallback = ^(CCStartSessionRequest *request, CCStartSessionError *error) {
    NSLog(@"An error occurred while starting a metrics session: %@", error.errorDescription);

CCStartSessionRequestDesc *desc = [CCStartSessionRequestDesc startSessionRequestDescWithUserId:userId appVersion:@"1.0"];
[metrics startSessionWithDesc:desc successCallback:successCallback errorCallback:errorCallback];

For more information on the different requests available in each module, see the full API documentation.


The easiest way to integrate ChilliConnect in to your game is to use one of our published SDKs. However, if the SDK you want is not currently available, all ChilliConnect functionality is exposed through an easy to use HTTPS API that you can invoke directly from your game.

The API is separated in to modules and exposed through two separate end points. Each API endpoint is also versioned, with the current version being 1.0. The following table describes the end point for each module:

Module Domain
Cloud Code
Cloud Data
Player Accounts
Push Notifications
IAP Validation
Live Ops

The API for both Connect and Metrics follow a similar usage pattern. For both, you must first use your GameToken, available from your ChilliConnect dashboard, to authenticate and obtain an AccessToken. You then use this AccessToken on subsequent requests.

By default when Logging in to Connect both a ConnectAccessToken, and MetricsAccessToken are returned, e.g. LogInUsingChilliConnect. It is also possible to get a MetricsAccessToken by invoking the StartSession end point. Note that AccessTokens are not interchangeable between Metrics and Connect API endpoints.

To call a specific method on the API simply post the required JSON body to the URL indicated in the documentation below to the relevant endpoint whilst setting the Content-Type header to "application/json". For example, the below curl command shows how to call the CreatePlayer method:

curl \
 -H "Content-Type: application/json" \\
 -H "Game-Token: <YourGameTokenHere>" \