Unreal Engine · beta C++ SDK + REST

Keep Unreal authoritative. Put persistent state behind a plain HTTP contract.

Unreal already owns replication, RPCs and game simulation. Crux handles the data that must survive the match: player identity, saves, stats, achievements, leaderboards, economy, live config and server registry. Use the beta C++ plugin for the typed client surface, or call the same HTTPS/OpenAPI contract directly with FHttpModule.

SDK status: beta. The plugin is protocol/structure-tested but has not yet been compiled with UBT against Unreal Engine. REST/OpenAPI remains the verified fallback. Crux does not host your UE fleet.

First external call FHttpModule
POST /v1/auth/anonymous
Authorization: ApiKey pk_...
Content-Type: application/json



// Unreal: FHttpModule::Get()
//        .CreateRequest()
Verify before you integrate

The Unreal plugin is real, but still beta.

Inspect the beta C++ plugin and the public OpenAPI contract. The plugin has protocol/structure coverage, but its engine-facing code still needs a real UBT build before production use.

Live API status

A live check of the hosted API right now. No made-up uptime percentage and no hidden demo environment.

Check current status

Public API contract

The hosted HTTP surface is documented as OpenAPI. Inspect the wire format before choosing an SDK or writing an adapter.

Open the spec

MIT client SDKs

The JavaScript, Godot, Unity, and Roblox client SDK source is public. The hosted backend itself remains a managed proprietary service.

Inspect the SDK source

Documented exit path

Read what is exportable today and the written commitment for advance notice plus an export window if the hosted service winds down.

Read the exit guarantee

Epic HTTP API reference

Unreal exposes FHttpModule and IHttpRequest for ordinary HTTP integration. That remains the verified fallback while Crux's beta C++ plugin completes engine validation.

Open Epic's HTTP docs
Layer boundary

Unreal owns the frame. The backend owns what must survive it.

01

Keep in Unreal / platform services

  • Authoritative gameplay simulation and replication
  • Actor state, RPCs and movement/network prediction
  • Online Subsystem / Online Services integrations that fit your platforms
  • EOS/Steam/console functionality you intentionally keep
02

Put in Crux

  • Guest/email player auth and persistent player records
  • Cloud saves, stats, achievements and inventories
  • Leaderboards and economy outside one server process
  • Backend-owned live config
  • Dedicated-server registration and heartbeat data
First-success path

Choose the beta plugin or prove the wire contract with FHttpModule.

The beta plugin already wraps the Crux API, but its first real Unreal build is still part of the work. If you want the lowest-risk proof today, make the anonymous-login POST with FHttpModule first; that verifies DNS/TLS, authorization and the wire contract from the actual Unreal process.

  1. Create the free project and run the dashboard sample.
  2. Either copy the Crux/ beta plugin into Plugins/, or start with the generated FHttpModule request.
  3. Run it from Unreal; Crux marks the first external credential use as the real activation event.
  4. Parse the player token and add only the persistent endpoints you need.
  5. For a trusted dedicated server, switch privileged operations to a server token rather than embedding secrets in the client.
Unreal decision paths
Your questionStart here
UE dedicated server + persistent backendDedicated-server integration
Server authority / anti-cheat boundaryServer-authoritative validation
EOS vs application backendEOS vs custom backend
Fleet orchestration choicesOrchestration guide
Beta C++ SDKUnreal SDK quickstart
Wire contract / fallbackCrux OpenAPI
Hosting boundary

Crux is not your Unreal fleet manager.

Epic's dedicated-server model is headless and authoritative, but where that executable runs is a separate infrastructure choice. Crux currently provides the persistent/backend API and server registry, not general Unreal process hosting or orchestration. Keep the hosting adapter separate so you can change it without moving player data.

Start at the boundary

Test the Unreal plugin, or the HTTP contract, before moving state.

The beta plugin gives you a first-party C++ surface; FHttpModule gives you the lowest-level fallback. Either path should prove a live call before production state moves.

Create the free Unreal project →