> ## Documentation Index
> Fetch the complete documentation index at: https://docs.arcane-powered.com/sdk/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> Native SDK that connects your game to Arcane Powered.

The **Arcane SDK** is how your game talks to **Arcane Powered**. Link it once (Rust crate or C ABI) and you get the platform integration path for ownership, achievements, cloud saves, friends, and the rest of the Arcane surface — with multi-engine bindings (Unity, Unreal, native).

## Integration in practice

For launch, you do two things:

1. Link the SDK
2. Call `arcane_init` with your **portal public key**

That is the default path. `arcane_init` checks ownership at launch automatically, unless the cached `drm_enabled` flag is `false` — then it succeeds without a ticket. You do not wire a separate ownership step unless you want a custom flow.

<Columns cols={2}>
  <Card title="Quickstart" icon="rocket" href="/sdk/sdk/quickstart">
    Link the SDK and call `arcane_init` at launch.
  </Card>

  <Card title="Ownership" icon="shield" href="/sdk/sdk/concepts/ownership">
    What init does by default, and when DRM is skipped.
  </Card>

  <Card title="Rust API" icon="code" href="/sdk/sdk/reference/rust-api">
    Public functions and types for native Rust games.
  </Card>

  <Card title="C ABI" icon="cube" href="/sdk/sdk/reference/c-abi">
    FFI for Unity, Unreal, and other native engines.
  </Card>
</Columns>

## Portal public key

Each title gets a **public key** generated in the Arcane portal. Pass that value to `arcane_init` (and related APIs). It identifies your game to Arcane Powered — it is not a hand-picked slug or package name.

## Shipped today

Ownership is the first platform surface in this crate. More Arcane Powered capabilities land in the same SDK as they ship — one dependency, one integration story.
