AccelByte UE4 SDK is a plugin for Unreal Engine 4.
This documentation assumes that you are already familiar with modern C++, Unreal Engine 4 (including Blueprint), HTTP, REST API, microservice architecture, OAuth2, OpenID Connect, JWT, WebSocket.
AccelByte SDK is compatible with these AccelByte backend services:
Service | Version |
---|---|
IAM | v3.23.0 |
Platform/E-Commerce | v3.11.0 |
Basic | v1.13.0 |
social-service | v1.7.0 |
lobby-server | v1.15.0 |
AccelByte UE4 SDK features:
- Access the API from C++ and blueprint. C++
- Provides easy-to-use client APIs for:
- User authentication (access tokens stored in memory)
- User management (create user, reset password, verify user.)
- User profile (create, update, view).
- Ecommerce (get item categories, get items, create orders, etc.)
- Lobby (chatting, party management)
- Server API.
- Supported UE4 versions: 4.20 - 4.25.3
The classes are categorized as follow:
- The
Model
classes are used for JSON deserialization and serialization using Unreal Engine 4 JsonUtilities.h. - The
Api
classes provides interface to C++ functions. - The
Blueprint
classes are simple glue code to provide interface to Unreal Engine 4 Blueprint. - The
Core
classes are for core functionalities (error handler, settings, credential store, and HTTP retry system).
/Plugins
The actual plugin is located in/Plugins/AccelByteUe4Sdk
./Content
This contains example widget blueprints and other asset./Source
This contains C++ source code for the examples./Documentation
This contains Doxyfile and this documentation.
There are only two hard things in Computer Science: cache invalidation and naming things. ―Phil Karlton
The backend call it namespace
, but since namespace can be many things, in here it's called GameId
and PublisherId
. They are like AppId in Steam, ProductId in GOG, GameId in GameSparks, TitleId in PlayFab.
The backend call it LoginId
, but in here it's called username. It can be email address or phone number. UserId
is the user unique ID.
The AccelByte IAM is an identity and access management service for online video games.
It is written in Go.
AccelByte Platform is a platform service for online video games.
These modules are written in Java to take advantage of the rich eco-system of libraries, mature development environment and tools, and rapid development and flexibility and customization.
AccelByte Lobby is for chatting and party management. Unlike other servers which use HTTP, Lobby server uses WebSocket (RFC 6455).
It is also written in Go.
Here's how to get it up and running quickly.
1.
The first step is to download and install Visual Studio 2017.
2.
Download and install Unreal Engine 4.20.
3.
If you want to run the examples, skip to step 7.
4.
Create or open existing Unreal Engine 4 project.
5.
Copy the plugin folder Plugins/AccelByteUe4Sdk
to your game's plugins folder.
6.
Add the plugin to your /MyAwesomeGame.uproject
file,
"Plugins": [
...
{
"Name": "AccelByteUe4Sdk",
"Enabled": true
},
...
in /Source/MyAwesomeGame.Target.cs
, and in /Source/MyAwesomeGameEditor.Target.cs
.
ExtraModuleNames.AddRange(new string[]
{
...
"AccelByteUe4Sdk",
...
}
also in /Source/MyAwesomeGame/MyAwesomeGame.Build.cs
.
PublicDependencyModuleNames.AddRange(
new string[] {
...
"AccelByteUe4Sdk",
...
}
7.
Open the editor, click File -> Project Settings.
8.
Fill out the settings then click on set as default. The settings will be saved to DefaultEngine.ini
.
Note: We halts support for blueprints, new features will be added with no blueprint. Please contact us if you want to use new features on the blueprints.
Supported features:
- Achievement
- Could Storage
- Entitlement
- Store Category
- Store Item
- Lobby
- Order
- Statistic
- User
- Wallet
Install Doxygen, go to /Documentation
folder, and run Doxygen.
cd Documentation
doxygen
The documentation will be in /Doxygen
folder.
Open /Doxygen/html/index.html
on your browser.
We are following Conventional Commits as a standard to follow for writing commit messages. The details of the rules can be found in the conventional commits website.
We optionally provide a git commit-hook that will be triggered when you do a commit through the terminal that will execute an interactive cli that can guide you to write commit message that follows the standard, to enable this, run make SetupCommitHook