Skip to main content

Install the Unreal Engine SDK

Last updated on

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 SDK

Tutorial

Follow the tutorial below to learn how to set up our Unreal Engine SDK.

Download and install the Unreal SDK Plugin

  1. Download and extract the SDK, rename the folder to AccelByteUe4Sdk and copy it to Plugins folder.

  2. Add the following plugin to your [MyAwesomeGame].uproject file.

    "Plugins": [
    ...
    {
    "Name": "AccelByteUe4Sdk",
    "Enabled": true
    },
    ]
    ...
  3. Add the following plugin to your /Source/[MyAwesomeGame].Target.cs file.

    ExtraModuleNames.AddRange(new string[]
    {
    ...
    "AccelByteUe4Sdk",
    ...
    }
  4. Add the following plugin to your /Source/[MyAwesomeGame]Editor.Target.cs file.

    ExtraModuleNames.AddRange(new string[]
    {
    ...
    "AccelByteUe4Sdk",
    ...
    }
  5. Add the plugin to your /Source/MyAwesomeGame/[MyAwesomeGame].Build.cs file.

    PublicDependencyModuleNames.AddRange(
    new string[] {
    ...
    "AccelByteUe4Sdk",
    ...
    }
  1. 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.

  1. In the /Config folder, open DefaultEngine.ini.

  2. 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=<>
IMPORTANT

Make sure to use the following format for the BaseUrl:

https://<Game TitleID>.<environment name>.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

NOTE

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=true
  • Quality 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.