Skip to main content
Link the SDK, pass your portal public key, call arcane_init at launch. That is the full default integration for ownership.

Prerequisites

  • Rust (edition 2021), or a native engine that can load the C ABI
  • A public key for your title from the Arcane portal
  • The Arcane desktop app has run online at least once for that title (so local ticket / JWKS cache exists when DRM is on)

Get started

1

Link the SDK

Rust:
Cargo.toml
Engines (Unity / Unreal / C++): build the shared library, include include/arcane_sdk.h, and load the C ABI.
2

Call init at launch

Pass the public key from the portal. Init checks ownership by default. If drm_enabled is false in the local cache, init returns success and skips the ticket check — nothing else to configure in your game.
You are done for the default launch path. No extra ownership API call is required.
Need to force a ticket check yourself (bypass init’s DRM short-circuit)? Use check_ownership_offline — see Ownership model. Most games never need this.
If init fails with ticket_missing, launch the Arcane desktop app online once for this title so the platform can cache a ticket.

Next steps