Get started with the Extend SDK
Customization is not available on the AGS Starter tier yet. It's coming soon!
Overview
The AccelByte Extend SDK is provided to help developers invoke AccelByte Gaming Services (AGS) endpoints from within their backend code. The Extend SDK is generated from AGS OpenAPI specs and provides required functions such as login, refreshing tokens, validating tokens, and retrying HTTP requests. It is easy to use so developers can focus on what they want to do instead of spending time thinking on how to invoke endpoints.
The AccelByte Extend SDK is available in multiple selected programming languages. We will show you the basics using the Extend SDK in several different languages (Go, Python, C#, Java).
Goals
In this guide you will:
- Create an application project.
- Add the Extend SDK as a project dependency.
- Use the Extend SDK to invoke an AGS endpoint.
- Run the application.
Prerequisites
In order to start on this guide, you should have:
- Go
- Python
- C#
- Java
- Access to the AccelByte Gaming Services (AGS) (demo environment):
- Use
https://demo.accelbyte.io
forAB_BASE_URL
environment variable. - Create an Oauth Client with client type Confidential.
- Use Client ID value for
AB_CLIENT_ID
environment variable. - Use Client Secret value for
AB_CLIENT_SECRET
environment variable.
- Use Client ID value for
- Use
- AccelByte Go Extend SDK
- Access to the following tools:
- Git
- Go 1.18 or later.
- Go IDE
- Access to the AccelByte Gaming Services (AGS) (demo environment):
- Use
https://demo.accelbyte.io
forAB_BASE_URL
environment variable. - Create an Oauth Client with client type Confidential.
- Use Client ID value for
AB_CLIENT_ID
environment variable. - Use Client Secret value for
AB_CLIENT_SECRET
environment variable.
- Use Client ID value for
- Use
- AccelByte Python Extend SDK
- Access to the following tools:
- Git
- Python 3.9
- Python IDE
- Access to the AccelByte Gaming Services (AGS) (demo environment):
- Use
https://demo.accelbyte.io
forAB_BASE_URL
environment variable. - Create an Oauth Client with client type Confidential.
- Use Client ID value for
AB_CLIENT_ID
environment variable. - Use Client Secret value for
AB_CLIENT_SECRET
environment variable.
- Use Client ID value for
- Use
- AccelByte .NET (C#) Extend SDK
- Access to the following tools:
- Git
- .NET SDK 6.0
- C# IDE
- Access to the AccelByte Gaming Services (AGS) (demo environment):
- Use
https://demo.accelbyte.io
forAB_BASE_URL
environment variable. - Create an Oauth Client with client type Confidential.
- Use Client ID value for
AB_CLIENT_ID
environment variable. - Use Client Secret value for
AB_CLIENT_SECRET
environment variable.
- Use Client ID value for
- Use
- AccelByte Java Extend SDK
- Access to the following tools:
- Git
- Java Development Kit (JDK) 8
- Gradle 7
- Java IDE
Create a project
- Go
- Python
- C#
- Java
Create a folder and use go mod init
to create a new Go application project:
$ mkdir getting-started
$ cd getting-started/
$ go mod init golang-application
Create a folder and use venv
to create a Python virtual environment.
For MacOS or Linux (Bash) user:
$ mkdir myproject
$ cd myproject/
$ python -m venv venv
$ source venv/bin/activate
$ python -c "import sys; print(sys.executable)" # Check which Python executable is active
For Windows(PowerShell) user:
C:\> mkdir myproject
C:\> cd myproject/
C:\> python -m venv venv
C:\> venv\Scripts\Activate.ps1
C:\> python -c "import sys; print(sys.executable)" # Check which Python executable is active
Create a new solution and a new console project inside the solution using dotnet
CLI.
$ mkdir -p /path/to/mysolution
$ cd /path/to/mysolution
$ dotnet new sln --name mysolution # Create a new solution: mysolution
$ dotnet new console -o myproject # Create a new console project myproject
$ dotnet sln add myproject/myproject.csproj # Add myproject to mysolution
Create a folder and use gradle init
to create a Java project.
$ mkdir myproject
$ cd myproject/
$ gradle init --type java-application --dsl groovy --test-framework junit-jupiter
Welcome to Gradle 7.4.2!
Here are the highlights of this release:
- Aggregated test and JaCoCo reports
- Marking additional test source directories as tests in IntelliJ
- Support for Adoptium JDKs in Java toolchains
For more details see https://docs.gradle.org/7.4.2/release-notes.html
Starting a Gradle Daemon (subsequent builds will be faster)
Generate build using new APIs and behavior (some features may change in the next minor release)? (default: no) [yes, no]
Project name (default: myproject):
Source package (default: myproject):
> Task :init
Get more help with your project: https://docs.gradle.org/7.4.2/samples/sample_building_java_applications.html
BUILD SUCCESSFUL in 19s
2 actionable tasks: 2 executed
Add to project dependency
- Go
- Python
- C#
- Java
Add the Go Extend SDK in the newly created
go.mod
file.Replace
{VERSION}
in thego.mod
file with a specific release version tag without the leadingv
character, then rungo mod tidy
.module golang-application
go 1.18
require (
github.com/AccelByte/accelbyte-go-sdk {VERSION}
)
We recommended using the Go Extend SDK version that matches your AGS version.
Install the SDK dependenices.
$ pip install requests httpx websockets pyyaml
Install the SDK.
$ pip install git+https://github.com/AccelByte/accelbyte-python-sdk.git@{VERSION}#egg=accelbyte_py_sdk
We recommended using the Python Extend SDK version that matches your AGS version.
Get a release version of the AccelByte C# Extend SDK and add it as a C# project dependency.
Replace
{VERSION}
with a specific release version tag.$ git clone https://github.com/AccelByte/accelbyte-csharp-sdk.git # Clone AccelByte C# Extend SDK
$ cd accelbyte-csharp-sdk
$ git checkout {VERSION} # Switch to a specific release {VERSION}
$ cp -rv AccelByte.Sdk /path/to/mysolution/AccelByte.Sdk # Copy AccelByte C# Extend SDK source code
$ cd /path/to/mysolution
$ dotnet sln add AccelByte.Sdk/AccelByte.Sdk.csproj # Add AccelByte C# Extend SDK to solution
$ cd myproject
$ dotnet add reference ../AccelByte.Sdk/AccelByte.Sdk.csproj # Add AccelByte C# Extend SDK as a dependency of C# project
We recommended using the .NET (C#) Extend SDK version that matches your AGS version.
Add the required configuration in
build.gradle
.Replace
{VERSION}
with a specific release version tag without the leadingv
character.
// build.gradle
repositories {
mavenCentral()
...
}
dependencies {
...
implementation 'net.accelbyte.sdk:sdk:{VERSION}'
}
We recommended using the Java Extend SDK version that matches your AGS version.
Use in code
- Go
- Python
- C#
- Java
- Create an SDK instance, log in using client credentials, and call an AGS API in
main.go
. - The
DefaultConfigRepositoryImpl
gets its values fromAB_BASE_URL
,AB_CLIENT_ID
, andAB_CLIENT_SECRET
environment variables.
package main
import (
"github.com/AccelByte/accelbyte-go-sdk/iam-sdk/pkg/iamclient/o_auth2_0_extension"
"github.com/AccelByte/accelbyte-go-sdk/services-api/pkg/utils/auth"
"github.com/sirupsen/logrus"
"github.com/AccelByte/accelbyte-go-sdk/services-api/pkg/factory"
"github.com/AccelByte/accelbyte-go-sdk/services-api/pkg/service/iam"
)
var (
// Use the default Go Extend SDK config and token repository implementation
configRepo = *auth.DefaultConfigRepositoryImpl()
tokenRepo = *auth.DefaultTokenRepositoryImpl()
)
func main() {
// Prepare the IAM Oauth service which contains the `LoginClient` function
oauth := &iam.OAuth20Service{
Client: factory.NewIamClient(&configRepo),
ConfigRepository: &configRepo,
TokenRepository: &tokenRepo,
}
clientId := oauth.ConfigRepository.GetClientId()
clientSecret := oauth.ConfigRepository.GetClientSecret()
// Login using Oauth Client credentials
err := oauth.LoginClient(&clientId, &clientSecret)
if err != nil {
logrus.Error("failed login client")
} else {
logrus.Info("successful login")
}
// Print out access token we get after login
token, _ := oauth.TokenRepository.GetToken()
logrus.Infof("print %v", *token.AccessToken)
// Prepare the IAM's Oauth 2.0 Extension service which contains the `GetCountryLocationV3` function
oAuth20ExtensionService := &iam.OAuth20ExtensionService{
Client: factory.NewIamClient(&configRepo),
TokenRepository: &tokenRepo,
}
input := &o_auth2_0_extension.GetCountryLocationV3Params{}
// Call the AGS endpoint `GetCountryLocationV3`
ok, errLoc := oAuth20ExtensionService.GetCountryLocationV3Short(input)
if errLoc != nil {
logrus.Error(errLoc.Error())
} else {
logrus.Infof("Country name: %s", *ok.CountryName)
}
}
- Create an SDK instance, log in using client credentials, and call an AGS API in
app.py
. - The
EnvironmentConfigRepository
gets its values fromAB_BASE_URL
,AB_CLIENT_ID
, andAB_CLIENT_SECRET
environment variables.
# app.py
import accelbyte_py_sdk
from accelbyte_py_sdk.core import (
RequestsHttpClient,
EnvironmentConfigRepository,
InMemoryTokenRepository,
)
import accelbyte_py_sdk.services.auth as auth_service
import accelbyte_py_sdk.api.iam as iam_service
def main():
# Create default HTTP client, token repository, and config repository instances
http_client = RequestsHttpClient()
config_repository = EnvironmentConfigRepository()
token_repository = InMemoryTokenRepository()
# Initialize the SDK
accelbyte_py_sdk.initialize(
options={
"config": config_repository,
"token": token_repository,
"http": http_client,
}
)
# Login using client credentials
token, error = auth_service.login_client()
if error:
exit(1) # Login failed
# Call an AccelByte Cloud API e.g. GetCountryLocationV3
response, error = iam_service.get_country_location_v3()
if error:
exit(1) # Response error
print(response.country_name)
if __name__ == "__main__":
main()
- Create an SDK instance, log in using user credentials, and call an AccelByte Basic API in
program.cs
. - The
DefaultConfigRepository
gets its values fromAB_BASE_URL
,AB_CLIENT_ID
, andAB_CLIENT_SECRET
environment variables.
using System;
using System.Collections.Generic;
using AccelByte.Sdk.Core;
using AccelByte.Sdk.Api;
using AccelByte.Sdk.Api.Legal.Model;
namespace AccelByteExample
{
internal class Program
{
static int Main(string[] args)
{
AccelByteSDK sdk = AccelByteSDK.Builder
.UseDefaultHttpClient()
.UseDefaultConfigRepository()
.UseDefaultTokenRepository()
.Build();
bool login = sdk.LoginUser("myUsername", "myPassword");
if (!login)
{
Console.WriteLine("Login failed");
return 1;
}
try
{
List<RetrieveAcceptedAgreementResponse>? response = sdk.Legal.Agreement.RetrieveAgreementsPublicOp.Execute();
if (response == null)
throw new Exception("Response is null");
foreach (var aggreement in response)
Console.WriteLine(aggreement.PolicyName);
}
catch (HttpResponseException e)
{
Console.WriteLine(e.Message);
return 2;
}
bool logout = sdk.Logout();
if (!logout)
{
Console.WriteLine("Logout failed");
return 1;
}
return 0;
}
}
}
- Create an SDK instance, log in using client credentials, and call an AGS API in
App.java
. - The
DefaultConfigRepository
gets its values fromAB_BASE_URL
,AB_CLIENT_ID
, andAB_CLIENT_SECRET
environment variables.
// App.java
package myproject;
import net.accelbyte.sdk.api.iam.models.OauthmodelCountryLocationResponse;
import net.accelbyte.sdk.api.iam.operations.o_auth2_0_extension.GetCountryLocationV3;
import net.accelbyte.sdk.api.iam.wrappers.OAuth20Extension;
import net.accelbyte.sdk.core.AccelByteSDK;
import net.accelbyte.sdk.core.client.OkhttpClient;
import net.accelbyte.sdk.core.repository.DefaultConfigRepository;
import net.accelbyte.sdk.core.repository.DefaultTokenRepository;
public class App {
public static void main(String[] args) throws Exception {
// Create default HTTP client, token repository, and config repository instance
OkhttpClient httpClient = new OkhttpClient();
DefaultTokenRepository tokenRepository = new DefaultTokenRepository();
DefaultConfigRepository configRepository = new DefaultConfigRepository();
// Create SDK instance
AccelByteSDK sdk = new AccelByteSDK(
httpClient,
tokenRepository,
configRepository);
// Login using client credentials
boolean isLoginOk = sdk.loginClient();
if (!isLoginOk) {
System.exit(1); // Login failed
}
// Call an AccelByte Cloud endpoint e.g. GetCountryLocationV3
OAuth20Extension wrapper = new OAuth20Extension(sdk);
GetCountryLocationV3 operation = GetCountryLocationV3.builder()
.build();
OauthmodelCountryLocationResponse response = wrapper.getCountryLocationV3(operation);
System.out.println(response.getCountryName());
}
}
Run the code
- Go
- Python
- C#
- Java
Set the required environment variables and run the application, using go run main.go
.
$ export AB_BASE_URL="https://demo.accelbyte.io" # Demo environment Base URL
$ export AB_CLIENT_ID="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" # Put your Client ID here
$ export AB_CLIENT_SECRET="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" # Put your Client Secret here
$ go run main.go
Set the required environment variables and run the code using the Python interpreter.
$ export AB_BASE_URL="https://demo.accelbyte.io" # AccelByte Cloud Base URL e.g. demo environment
$ export AB_CLIENT_ID="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" # AccelByte Cloud OAuth Client ID
$ export AB_CLIENT_SECRET="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" # AccelByte Cloud OAuth Client Secret
$ python app.py
Set the required environment variables and run the code using dotnet run
.
$ export AB_BASE_URL="https://demo.accelbyte.io" # AccelByte Cloud Base URL e.g. demo environment
$ export AB_CLIENT_ID="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" # AccelByte Cloud OAuth Client ID
$ export AB_CLIENT_SECRET="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" # AccelByte Cloud OAuth Client Secret
$ cd /path/to/mysolution/myproject
$ dotnet run
Set the required environment variables and run the code using gradle run
.
$ export AB_BASE_URL="https://demo.accelbyte.io" # AccelByte Cloud Base URL e.g. demo environment
$ export AB_CLIENT_ID="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" # AccelByte Cloud OAuth Client ID
$ export AB_CLIENT_SECRET="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" # AccelByte Cloud OAuth Client Secret
$ gradle run
SDK examples
- Go
- Python
- C#
- Java
See our Go SDK example repo for a selection of test cases you can use to customize your game. You can also view the Go Extend SDK README.md for more information.
IAM
import (
"github.com/AccelByte/accelbyte-go-sdk/iam-sdk/pkg/iamclientmodels"
"github.com/AccelByte/accelbyte-go-sdk/services-api/pkg/service/iam"
)
Basic
import (
"github.com/AccelByte/accelbyte-go-sdk/basic-sdk/pkg/basicclientmodels"
"github.com/AccelByte/accelbyte-go-sdk/services-api/pkg/service/basic"
)
Social
import (
"github.com/AccelByte/accelbyte-go-sdk/social-sdk/pkg/socialclientmodels"
"github.com/AccelByte/accelbyte-go-sdk/services-api/pkg/service/social"
)
Platform
import (
"github.com/AccelByte/accelbyte-go-sdk/platform-sdk/pkg/platformclientmodels"
"github.com/AccelByte/accelbyte-go-sdk/services-api/pkg/service/platform"
)
Group
import (
"github.com/AccelByte/accelbyte-go-sdk/group-sdk/pkg/groupclientmodels"
"github.com/AccelByte/accelbyte-go-sdk/services-api/pkg/service/group"
)
Cloud save
import (
"github.com/AccelByte/accelbyte-go-sdk/cloudsave-sdk/pkg/cloudsaveclientmodels"
"github.com/AccelByte/accelbyte-go-sdk/services-api/pkg/service/cloudsave"
)
DSM controller
import (
"github.com/AccelByte/accelbyte-go-sdk/dsmc-sdk/pkg/dsmcclientmodels"
"github.com/AccelByte/accelbyte-go-sdk/services-api/pkg/service/dsmc"
)
Session browser
import (
"github.com/AccelByte/accelbyte-go-sdk/sessionbrowser-sdk/pkg/sessionbrowserclientmodels"
"github.com/AccelByte/accelbyte-go-sdk/services-api/pkg/service/sessionbrowser"
)
Lobby
import (
"github.com/AccelByte/accelbyte-go-sdk/lobby-sdk/pkg/lobbyclientmodels"
"github.com/AccelByte/accelbyte-go-sdk/services-api/pkg/service/lobby"
)
Telemetry
import (
"github.com/AccelByte/accelbyte-go-sdk/gametelemetry-sdk/pkg/gametelemetryclientmodels"
"github.com/AccelByte/accelbyte-go-sdk/services-api/pkg/service/gametelemetry"
)
Achievement
import (
"github.com/AccelByte/accelbyte-go-sdk/achievement-sdk/pkg/achievementclientmodels"
"github.com/AccelByte/accelbyte-go-sdk/services-api/pkg/service/achievement"
)
DS log manager
import (
"github.com/AccelByte/accelbyte-go-sdk/dslogmanager-sdk/pkg/dslogmanagerclientmodels"
"github.com/AccelByte/accelbyte-go-sdk/services-api/pkg/service/dslogmanager"
)
UGC
import (
"github.com/AccelByte/accelbyte-go-sdk/ugc-sdk/pkg/ugcclientmodels"
"github.com/AccelByte/accelbyte-go-sdk/services-api/pkg/service/ugc"
)
Leaderboard
import (
"github.com/AccelByte/accelbyte-go-sdk/leaderboard-sdk/pkg/leaderboardclientmodels"
"github.com/AccelByte/accelbyte-go-sdk/services-api/pkg/service/leaderboard"
)
GDPR
import (
"github.com/AccelByte/accelbyte-go-sdk/gdpr-sdk/pkg/gdprclientmodels"
"github.com/AccelByte/accelbyte-go-sdk/services-api/pkg/service/gdpr"
)
Legal
import (
"github.com/AccelByte/accelbyte-go-sdk/legal-sdk/pkg/legalclientmodels"
"github.com/AccelByte/accelbyte-go-sdk/services-api/pkg/service/legal"
)
Matchmaking
import (
"github.com/AccelByte/accelbyte-go-sdk/matchmaking-sdk/pkg/matchmakingclientmodels"
"github.com/AccelByte/accelbyte-go-sdk/services-api/pkg/service/matchmaking"
)
See our Python SDK example repo for a selection of test cases you can use to customize your game. You can also view the Python Extend SDK README.md for more information.
IAM
from accel_py_sdk.api.iam import *
from accelbyte_py_sdk.services.auth import *
Basic
from accel_py_sdk.api.basic import *
Social
from accel_py_sdk.api.social import *
Platform
from accel_py_sdk.api.platform import *
Group
from accel_py_sdk.api.group import *
Cloud save
from accel_py_sdk.api.cloudsave import *
DSM controller
from accel_py_sdk.api.dsm_controller import *
Session browser
from accel_py_sdk.api.session_browser import *
Lobby
from accel_py_sdk.api.lobby import *
Telemetry
from accel_py_sdk.api.amalgam_game_telemetry import *
Achievement
from accel_py_sdk.api.achievement import *
DS log manager
from accel_py_sdk.api.dslogmanager import *
UGC
from accel_py_sdk.api.ugc import *
Leaderboard
from accel_py_sdk.api.leaderboard import *
GDPR
from accel_py_sdk.api.gdpr import *
Legal
from accel_py_sdk.api.legal import *
Matchmaking
from accel_py_sdk.api.matchmaking import *
See our .NET (C#) SDK example repo for a selection of test cases you can use to customize your game. You can also view the .NET (C#) Extend SDK README.md for more information.
IAM
using AccelByte.Sdk.Api.Iam.Model;
using AccelByte.Sdk.Api.Iam.Operation;
using AccelByte.Sdk.Api.Iam.Wrapper;
Basic
using AccelByte.Sdk.Api.Basic.Model;
using AccelByte.Sdk.Api.Basic.Operation;
using AccelByte.Sdk.Api.Basic.Wrapper;
Social
using AccelByte.Sdk.Api.Social.Model;
using AccelByte.Sdk.Api.Social.Operation;
using AccelByte.Sdk.Api.Social.Wrapper;
Platform
using AccelByte.Sdk.Api.Platform.Model;
using AccelByte.Sdk.Api.Platform.Operation;
using AccelByte.Sdk.Api.Platform.Wrapper;
Group
using AccelByte.Sdk.Api.Group.Model;
using AccelByte.Sdk.Api.Group.Operation;
using AccelByte.Sdk.Api.Group.Wrapper;
Cloud save
using AccelByte.Sdk.Api.Cloudsave.Model;
using AccelByte.Sdk.Api.Cloudsave.Operation;
using AccelByte.Sdk.Api.Cloudsave.Wrapper;
DSM controller
using AccelByte.Sdk.Api.Dsmc.Model;
using AccelByte.Sdk.Api.Dsmc.Operation;
using AccelByte.Sdk.Api.Dsmc.Wrapper;
Session browser
using AccelByte.Sdk.Api.Sessionbrowser.Model;
using AccelByte.Sdk.Api.Sessionbrowser.Operation;
using AccelByte.Sdk.Api.Sessionbrowser.Wrapper;
Lobby
using AccelByte.Sdk.Api.Lobby.Model;
using AccelByte.Sdk.Api.Lobby.Operation;
using AccelByte.Sdk.Api.Lobby.Wrapper;
Achievement
using AccelByte.Sdk.Api.Achievement.Model;
using AccelByte.Sdk.Api.Achievement.Operation;
using AccelByte.Sdk.Api.Achievement.Wrapper;
DS log manager
using AccelByte.Sdk.Api.Dslogmanager.Model;
using AccelByte.Sdk.Api.Dslogmanager.Operation;
using AccelByte.Sdk.Api.Dslogmanager.Wrapper;
UGC
using AccelByte.Sdk.Api.Ugc.Model;
using AccelByte.Sdk.Api.Ugc.Operation;
using AccelByte.Sdk.Api.Ugc.Wrapper;
Leaderboard
using AccelByte.Sdk.Api.Leaderboard.Model;
using AccelByte.Sdk.Api.Leaderboard.Operation;
using AccelByte.Sdk.Api.Leaderboard.Wrapper;
GDPR
using AccelByte.Sdk.Api.Gdpr.Model;
using AccelByte.Sdk.Api.Gdpr.Operation;
using AccelByte.Sdk.Api.Gdpr.Wrapper;
Legal
using AccelByte.Sdk.Api.Legal.Model;
using AccelByte.Sdk.Api.Legal.Operation;
using AccelByte.Sdk.Api.Legal.Wrapper;
Matchmaking
using AccelByte.Sdk.Api.Matchmaking.Model;
using AccelByte.Sdk.Api.Matchmaking.Operation;
using AccelByte.Sdk.Api.Matchmaking.Wrapper;
See our Java SDK example repo for a selection of test cases you can use to customize your game. You can also view the Java Extend SDK README.md for more information.
IAM
import net.accelbyte.sdk.api.iam.models.*;
import net.accelbyte.sdk.api.iam.operations.*;
import net.accelbyte.sdk.api.iam.wrappers.*;
Basic
import net.accelbyte.sdk.api.basic.models.*;
import net.accelbyte.sdk.api.basic.operations.*;
import net.accelbyte.sdk.api.basic.wrappers.*;
Social
import net.accelbyte.sdk.api.social.models.*;
import net.accelbyte.sdk.api.social.operations.*;
import net.accelbyte.sdk.api.social.wrappers.*;
Platform
import net.accelbyte.sdk.api.platform.models.*;
import net.accelbyte.sdk.api.platform.operations.*;
import net.accelbyte.sdk.api.platform.wrappers.*;
Group
import net.accelbyte.sdk.api.group.models.*;
import net.accelbyte.sdk.api.group.operations.*;
import net.accelbyte.sdk.api.group.wrappers.*;
Cloud save
import net.accelbyte.sdk.api.cloudsave.models.*;
import net.accelbyte.sdk.api.cloudsave.operations.*;
import net.accelbyte.sdk.api.cloudsave.wrappers.*;
DSM controller
import net.accelbyte.sdk.api.dsmc.models.*;
import net.accelbyte.sdk.api.dsmc.operations.*;
import net.accelbyte.sdk.api.dsmc.wrappers.*;
Session browser
import net.accelbyte.sdk.api.sessionbrowser.models.*;
import net.accelbyte.sdk.api.sessionbrowser.operations.*;
import net.accelbyte.sdk.api.sessionbrowser.wrappers.*;
Lobby
import net.accelbyte.sdk.api.lobby.models.*;
import net.accelbyte.sdk.api.lobby.operations.*;
import net.accelbyte.sdk.api.lobby.wrappers.*;
Achievement
import net.accelbyte.sdk.api.achievement.models.*;
import net.accelbyte.sdk.api.achievement.operations.*;
import net.accelbyte.sdk.api.achievement.wrappers.*;
DS log manager
import net.accelbyte.sdk.api.dslogmanager.models.*;
import net.accelbyte.sdk.api.dslogmanager.operations.*;
import net.accelbyte.sdk.api.dslogmanager.wrappers.*;
UGC
import net.accelbyte.sdk.api.ugc.models.*;
import net.accelbyte.sdk.api.ugc.operations.*;
import net.accelbyte.sdk.api.ugc.wrappers.*;
Leaderboard
import net.accelbyte.sdk.api.leaderboard.models.*;
import net.accelbyte.sdk.api.leaderboard.operations.*;
import net.accelbyte.sdk.api.leaderboard.wrappers.*;
GDPR
import net.accelbyte.sdk.api.gdpr.models.*;
import net.accelbyte.sdk.api.gdpr.operations.*;
import net.accelbyte.sdk.api.gdpr.wrappers.*;
Legal
import net.accelbyte.sdk.api.legal.models.*;
import net.accelbyte.sdk.api.legal.operations.*;
import net.accelbyte.sdk.api.legal.wrappers.*;
Matchmaking
import net.accelbyte.sdk.api.matchmaking.models.*;
import net.accelbyte.sdk.api.matchmaking.operations.*;
import net.accelbyte.sdk.api.matchmaking.wrappers.*;