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 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)
- Maybe server API in the future.
The classes are categorized as follow:
Modelclasses are used for JSON deserialization and serialization using Unreal Engine 4 JsonUtilities.h.
Apiclasses provides interface to C++ functions.
Blueprintclasses are simple glue code to provide interface to Unreal Engine 4 Blueprint.
Coreclasses are for core functionalities (error handler, settings, credential store, and HTTP retry system).
/PluginsThe actual plugin is located in
/Plugins/AccelByteUe4Sdk. The custom web browser widget plugin
/Plugins/AccelByteCustomWebBrowserWidgetis experimental and untested. Please don't use.
/ContentThis contains example widget blueprints and other asset.
/SourceThis contains C++ source code for the examples.
/DocumentationThis 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
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.