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 Blueprints), 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 follows:
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 it.
/ContentThis contains example widget blueprints and other assets.
/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
A Namespace is effectively a container for an individual Publisher’s configuration.
A Publisher Namespace can contain many Game Namespaces.
A Game Namespace is the container for an individual Game’s configuration.
The backend calls it namespace, but since namespace can be many things, 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 here it's called username. It can be an 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 ecosystem 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.