Install the Unreal Engine SDK
You can use our Unreal Engine SDK to implement AccelByte services into your game. We support both UE4 and UE5. The SDK acts as a bridge between your game and our services.
Download Unreal Engine SDKTutorial
Follow the tutorial below to learn how to set up our Unreal Engine SDK.
Download and install the Unreal SDK Plugin
Download and extract the SDK, rename the folder to AccelByteUe4Sdk and copy it to Plugins folder.
Add the following plugin to your [MyAwesomeGame].uproject file.
"Plugins": [
...
{
"Name": "AccelByteUe4Sdk",
"Enabled": true
},
]
...Add the following plugin to your /Source/[MyAwesomeGame].Target.cs file.
ExtraModuleNames.AddRange(new string[]
{
...
"AccelByteUe4Sdk",
...
}Add the following plugin to your /Source/[MyAwesomeGame]Editor.Target.cs file.
ExtraModuleNames.AddRange(new string[]
{
...
"AccelByteUe4Sdk",
...
}Add the plugin to your /Source/MyAwesomeGame/[MyAwesomeGame].Build.cs file.
PublicDependencyModuleNames.AddRange(
new string[] {
...
"AccelByteUe4Sdk",
...
}
- Rebuild your project.
Configure the AccelByte Client
Before using the SDK, you will need to configure the AccelByte SDK Configuration in the Unreal Editor with copy the DefaultEngine.ini content from the AccelByte Admin Portal right after you create a new game titles to your project’s DefaultEngine.ini file.
Copy Content into DefaultEngine.ini
Download SDK configuration file from the OAuth Clients page in the AccelByte Admin Portal and extract the file. Copy the content of the DefaultEngine.ini file into DefaultEngine.ini in your project. Contact support or your Account Manager if you are unsure of your API URLs. Read about IAM Clients for more information.
In the /Config folder, open DefaultEngine.ini.
Copy the content of the DefaultEngine.ini that’s downloaded from AccelByte Admin Portal into your project’s DefaultEngine.ini:
[/Script/AccelByteUe4Sdk.AccelByteSettings]
ClientId=<client_id>
ClientSecret=<client_secret>
Namespace=<namespace>
PublisherNamespace=<>
RedirectURI="http://127.0.0.1"
BaseUrl=<base_url>
AppId=<>
Make sure to use the following format for the BaseUrl:
https://<Game TitleID>.<environment name>.gamingservices.accelbyte.io
- You can check your game title ID here.
- Use the
dev
value since you’ll be working on a development environment. For example: https://spaceshooter.dev.gamingservices.accelbyte.io - Use the
prod
value when you ready to launch to live environment. For example https://spaceshooter.prod.gamingservices.accelbyte.io
Are you ready to launch your game to the world? Please follow these steps to Create an Account for the Live Environment
Please leave the PublisherNamespace
and AppId
parameters empty.
Additional Features
AccelByte now supports additional features that you can enable in [/Script/AccelByteUe4Sdk.AccelByteSettings].
Client-Side Data Caching (In-Memory): you can now cache static data/files in the memory to reduce HTTP calls. To activate this feature, ensure that the service that will send the response can provide HTTP Cache Control headers.
[/Script/AccelByteUe4Sdk.AccelByteSettings]
...
bEnableHttpCache=trueQuality of Service (QoS) Scheduled Latencies Updater: we have created a scheduler that runs in the background to update the latencies on all specified areas. This will help game developers to implement matchmaking in multiple regions.You can specify the given time interval for the scheduler. Polling is initialized at the authentication level since the latencies need to be updated before matchmaking to eliminate bottlenecks when matchmaking starts. Players may also want to know their region latencies (ping) before they begin matchmaking.
[/Script/AccelByteUe4Sdk.AccelByteSettings]
...
QosLatencyPollIntervalSecs=0
QosServerLatencyPollIntervalSecs=0
The default value for both parameters is 0.
To enable the scheduler, set QosLatencyPollIntervalSecs to a value greater than 0. The minimum polling interval, when active, is 10 minutes (600 seconds).
To enable the scheduler for other regions, set QosServerLatencyPollIntervalSecs to a value greater than 0.