Integration Guide¶
Efficiently integrate Balancy into your gaming environment with our Unity plugin and initialize it with ease.
Plugin Installation¶
Ensure a smooth integration with these straightforward steps:
- Download Plugin: Obtain the most recent version of the plugin here.
- Import to Unity: Incorporate the Balancy plugin into your Unity project.
-
Authorization:
- Navigate to Tools ► Balancy ► Config post-compilation.
- Use the Balancy platform credentials to authorize.
-
Game Code Generation:
- Choose the relevant game.
- Click Generate Code to proceed.
Plugin Initialization¶
Locate YOUR_GAME_ID and YOUR_PUBLIC_KEY on the Balancy dashboard for subsequent code utilization:
Utilize the following code to initialize Balancy:
Balancy.Main.Init(new AppConfig
{
ApiGameId = YOUR_GAME_ID,
PublicKey = YOUR_PUBLIC_KEY,
Environment = Constants.Environment.Development,
AutoLogin = true,
OfflineMode = false,
Platform = Constants.Platform.AndroidGooglePlay,
PreInit = PreInitType.None,
OnInitProgress = progress =>
{
Debug.Log($"***=> STATUS {progress.Status}");
switch (progress.Status)
{
case BalancyInitStatus.PreInitFromResourcesOrCache:
//CMS, loaded from resource or cache is ready, invoked only if PreInit >= PreInitType.LoadStaticData
break;
case BalancyInitStatus.PreInitLocalProfile:
//Local profile is loaded, invoked only if PreInit >= PreInitType.LoadStaticDataAndLocalProfile
break;
case BalancyInitStatus.DictionariesReady:
//CMS is updated and ready
break;
case BalancyInitStatus.Finished:
//All systems are ready
break;
default:
throw new ArgumentOutOfRangeException();
}
},
UpdateType = UpdateType.FullUpdate,
UpdatePeriod = 300,
OnContentUpdateCallback = updateResponse =>
{
Debug.Log("Content Updated " + updateResponse.AffectedDictionaries.Length);
},
OnReadyCallback = response =>
{
Debug.Log($"Balancy Init Complete: {response.Success}, deploy version = {response.DeployVersion}");
}
});
Initialization Parameters¶
Explore and customize your initialization with the following parameters to enhance your game’s integration with Balancy:
Parameter | Default Value | Description |
---|---|---|
ApiGameId | null |
A unique GUID associated with your game. |
PublicKey | null |
Essential public key needed for various game operations. |
Environment | Development |
Specifies the Balancy connection environment. Learn More. |
AutoLogin | true |
When true , the user is automatically authenticated by device ID during initialization. |
OfflineMode | false |
When true , content from Resources and LocalStorage is utilized without internet data updates, including LiveOps. |
Platform | autodetect |
Identifies the platform used at launch, vital for payments and analytics. |
PreInit | None |
Initializes Balancy using local data, before internet updates, for a quicker game launch, especially with a slow connection. |
OnInitProgress | null |
A callback that displays the progression during initialization. Refer to the code example above. |
UpdateType | FullUpdate |
Dictates the type and extent of content updates during runtime. |
UpdatePeriod | 300 |
Defines the time (in seconds) between subsequent attempts to update data. |
OnContentUpdateCallback | null |
A callback invoked when game content is updated at runtime. |
OnReadyCallback | null |
The concluding callback, activated once all updates and systems are prepared and operational. |
Customizing these parameters helps in refining the initialization process, ensuring a smooth and adaptive integration of Balancy into your gaming application.
Double-check environment
Don't forget to change environment to production, when you go live. Read best practices to better understanding of deploy process.