Player accounts, rooms, matchmaking, leaderboards, friends and moderation for your UE project — through the official C++ SDK or plain REST over HTTPS.
This API is a hosted backend service, not a netcode layer. It doesn't replace actor replication, and there's no marketplace plugin to install — because the integration is genuinely simpler than that. Unreal projects already contain everything needed to reach it: the engine's HTTP stack, or standard C++ compiled into your module.
Two supported paths cover every workflow:
The C++ SDK is standard C++ (nlohmann::json, CMake, no engine dependencies). Drop the include/ tree into your project or a ThirdParty module and call the same typed client every other platform uses.
Every endpoint is JSON over HTTPS with header auth — FHttpModule calls it directly in a dozen lines, and Blueprint-friendly REST plugins (e.g. VaRest-style) reach the same surface with zero C++.
include/ into your project (e.g. Source/ThirdParty/Multiplayer/).Build.cs: PublicIncludePaths.Add("ThirdParty/Multiplayer/include").nlohmann_json the usual way (vendored or via your existing UE JSON setup) — that's the SDK's only dependency.michitai/multiplayer/Client.h and call the API.This is the same API the C++ example project uses — namespaces trimmed for readability:
#include "michitai/multiplayer/Client.h"
#include "michitai/multiplayer/Players/Players.h"
#include "michitai/multiplayer/Rooms/Rooms.h"
using namespace michitai::multiplayer;
Client client("YOUR_API_TOKEN");
// Register — privateKey is the player credential, persist it
auto reg = players::Players::registerPlayer(
client, "PlayerOne",
nlohmann::json{{"level", 1}, {"rank", "bronze"}});
FString PlayerToken(reg.privateKey.c_str());
// Create a realtime-enabled room
auto room = Rooms::createRoom(
client, reg.privateKey, "Lobby 1",
/*maxPlayers*/4, /*password*/"", /*realtime*/true);
// Keep the session alive on a timer
players::Players::sendPlayerHeartbeat(client, reg.privateKey);
Response objects expose success/error — check them like the other SDKs. The full call list mirrors the REST reference one-to-one.
For Blueprint-heavy projects or prototypes, skip C++ entirely. Every endpoint is POST https://api.michitai.com/api/… with JSON bodies and headers X-Api-Token / X-Game-Player-Token. A VaRest-style plugin (or UE's own HTTP module) covers the whole surface — register, create/join rooms, matchmaking, leaderboard queries, player data.
curl -X POST "https://api.michitai.com/api/game_players.php/register" \
-H "X-Api-Token: YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"player_name": "PlayerOne", "player_data": {"level": 1}}'
Free tier — full API surface, no credit card. The same SDK license covers commercial game bundling.
Related: Any Engine · Getting Started · Latency & Performance · Compare Backends