Current Release — Evaluation SDK
0.6.0
PUBLIC CALLBACK ABI v3 Released · engine: v0.6.0.1a alpha · stable beta channel: v0.5.1.9b

SDK packages track the engine minor (0.6.x) — engine builds reach players through the runtime updater rather than a re-cut SDK, so an integration built against 0.6.0 links against any 0.6.x runtime.

Evaluation build — no account required. The partner runtime (signed driver + production .lib) is delivered through the partner portal.
File Size
Archive
Platform
Windows 10 21H2+ / 11 x64
SHA-256 Checksum
What is in the evaluation package
Everything inside the evaluation archive — nothing else is downloaded or installed
Public header
The complete public API in one header — result codes, layers, options, config, session and callback structs. Compiles as C99 and as C++17 under MSVC and Clang. This is the same header the partner runtime links against.
HEADER include/cerberus_sdk.h
Evaluation runtime (source)
A real implementation of every entry point, shipped as source you compile yourself. It validates your config, runs the session lifecycle and event pump, and can simulate a flag and a ban so you can exercise your handlers. It detects nothing and protects nothing.
C++ SOURCE src/cerberus_eval_stub.cpp
C# and Rust bindings
A P/Invoke binding over the same entry points, with a managed config object and ban/flag event types, targeting .NET 8 and Unity 2022 LTS. Alongside it, a Cargo crate whose config struct mirrors the C header field for field.
C# / .NET 8 bindings/csharp/ · bindings/rust/
Examples
Two buildable console programs — a minimal init/session round trip and a session loop that pumps events — plus illustrative Unreal subsystem and Unity manager sources to read alongside your own integration.
C++ / UE / UNITY examples/cpp/, examples/unreal/, examples/unity/
CMake project
Builds the evaluation runtime as a static library (optionally as a shared library) and both example programs. CMake 3.16+, MSVC 2019 16.11+ or Clang 13+ — no other dependencies.
BUILD CMakeLists.txt, package.json
Notes, licence and checksums
README (what the evaluation build does and does not do), CHANGELOG, evaluation licence, third-party notices — there are none — and an in-archive SHA256SUMS.txt covering every file.
DOCS README.md, CHANGELOG.md, EVALUATION-LICENSE.txt, THIRD_PARTY_NOTICES.txt, SHA256SUMS.txt
In the partner runtime only

None of the following is in the evaluation download, and none of it is published on this site. It is delivered through the partner portal once an API key has been issued.

Engine Compatibility
SDK support status by game engine
Unreal Engine 5 FULL SUPPORT
UE 5.1+ plugin with Blueprint bindings, session management, auto-updater. Primary supported platform.
Unity EARLY PREVIEW
Unity 2022 LTS+ via C# P/Invoke bindings. Functional but still maturing — some features require manual setup.
Godot 4 COMMUNITY
Community-maintained GDExtension wrapper. Uses raw C++ SDK under the hood. Not officially supported.
Custom / C++ FULL SUPPORT
Raw C++ static library + single header. 4 API calls to integrate: Init, StartSession, EndSession, Shutdown.
CryEngine RAW SDK
Via raw C++ SDK. No native plugin — requires manual integration through CryEngine's plugin system.
System Requirements
Minimum requirements for SDK integration and runtime
  • OS Windows 10 / 11 64-bit REQUIRED
  • Compiler MSVC 2019+ or Clang 14+ REQUIRED
  • Engine UE 5.1+ or Unity 2022+ RECOMMENDED
  • Secure Boot Enabled REQUIRED
  • TPM TPM 2.0 REQUIRED
  • C++ Std C++17 minimum REQUIRED
Quick Start
Basic integration — four calls to protect a session
main.cpp C++
#include "cerberus_sdk.h"

int main() {
    CerberusConfig config = {};
    config.apiKey = "crb_live_xxxxxxxxxxxx";
    config.gameId = "CRB-0117";

    cerberus_init(&config);
    cerberus_start_session(player_id);
    // ... game loop ...
    cerberus_end_session();
    cerberus_shutdown();
}
using Cerberus.SDK;

class Program {
    static void Main() {
        var config = new CerberusConfig {
            ApiKey  = "crb_live_xxxxxxxxxxxx",
            GameId  = "CRB-0117"
        };

        CerberusSDK.Init(config);
        CerberusSDK.StartSession(playerId);
        // ... game loop ...
        CerberusSDK.EndSession();
        CerberusSDK.Shutdown();
    }
}
UCLASS()
class UMyGameMode : public AGameModeBase {
    GENERATED_BODY()
public:
    virtual void BeginPlay() override {
        FCerberusConfig Config;
        Config.ApiKey = TEXT("crb_live_xxxxxxxxxxxx");
        Config.GameId = TEXT("CRB-0117");

        UCerberusSubsystem::Get()->Init(Config);
        UCerberusSubsystem::Get()->StartSession(PlayerId);
    }

    virtual void EndPlay(const EEndPlayReason::Type Reason) override {
        // ... game loop ends ...
        UCerberusSubsystem::Get()->EndSession();
        UCerberusSubsystem::Get()->Shutdown();
    }
};
use cerberus_sdk::CerberusConfig;

fn main() {
    let config = CerberusConfig::new("crb_live_xxxxxxxxxxxx", "CRB-0117");

    cerberus_sdk::init(&config);
    cerberus_sdk::start_session(player_id);
    // ... game loop ...
    cerberus_sdk::end_session();
    cerberus_sdk::shutdown();
}
Full Documentation
See the integration guide in Docs for session lifecycle, error handling, ban webhooks, and advanced config.
Version History
SDK packages track the engine minor. Only the current package is published — archived minors are available to partners on request.
Version Date Size Changes Downloads