Skip to main content
The Flock Unity SDK connects your game to the Flock backend: player auth, save data, economy, remote config, downloadable assets, and analytics — configured from one in-editor window, with strongly typed C# generated from your own schemas.

Download the Unity SDK

Get the latest .unitypackage from the releases page.

Requirements

  • Unity 2020.3 or newer
  • com.unity.nuget.newtonsoft-json 3.0.2+

Setup

1

Import the package

Download the latest release and import the .unitypackage (Assets → Import Package → Custom Package).
2

Add the JSON dependency

Add Newtonsoft JSON to Packages/manifest.json:
3

Configure

Open Flock → Settings and fill in the four fields from your game’s page on the dashboard:
API Credentials card in the Flock window

Enter your credentials in the Flock → Settings window.

Values are saved to Assets/Resources/FlockConfig.asset. As you fill them in, the window prepares the two things the SDK needs before it can start:
  • Resolve Game Version — your version name is looked up and its ID is baked into the config. Runtime init uses that baked ID directly and never calls the server, so it must resolve before you play or build. The window resolves it automatically when your credentials change (or click Resolve Game Version).
  • Verify — the Setup checklist’s Verify button confirms your credentials actually reach Flock.
Green checks across the Setup checklist mean you’re ready to initialize.
Setup checklist showing a verified connection and resolved Game Version

Connection verified and Game Version resolved — both required before init.

The API Key ships inside your build (it’s loaded from Resources at runtime). Use a key scoped to the right environment, and rotate it on the dashboard if it leaks.

Your first call

With auto-init on, the SDK is already running — just use FlockClient.Instance.

Initialization

The SDK can start three ways. Automatic is the default and fits most games; the other two trade a little setup for control over when init runs (after a splash screen, EULA, etc.).
Nothing to call — the SDK initializes from FlockConfig.asset before the first scene loads and restores a saved session in the background. React to lifecycle events if you need to:
Init is fail-fast. A bad config throws (the auto-init path logs instead of crashing), and FlockClient.Instance throws until init succeeds. Guard with FlockClient.IsInitialized, inspect FlockClient.InitializationError, or handle FlockEvents.OnInitializationFailed.

Authenticate a player

Signing in does not create an account — registering is a separate RegisterWith…Async call. Registering an identity that already has one succeeds rather than failing, so you can send the player to a login instead. Auth methods throw on failure, so wrap them in try/catch.
Sessions refresh automatically. Subscribe to FlockEvents.OnAuthenticated and OnAuthExpired to drive your UI.

Work with your game data

Run Code Generation → Sync Schemas in the Flock window to turn your dashboard’s player templates, configs, and shops into typed C# accessors under Assets/Flock/Generated/.
Code Generation tab in the Flock window

The Code Generation tab — Sync Schemas, then browse the generated content catalog.

Each sync also writes a read-only FlockContentCatalog asset — designers can browse every shop, config, and template in the Inspector without touching code or the dashboard.
FlockContentCatalog asset open in the Inspector

The generated FlockContentCatalog — shops, configs, and templates with their values.

Explore features

Players & auth

Account linking

Player data

Shops & inventory

Leaderboards

Notifications

Remote config

Assets

Analytics & events

Advanced settings

The Advanced Settings tab tunes analytics, HTTP retries, the asset and offline caches, and editor tools (including Auto-Initialize On Load). The defaults are sensible — change them only when you need to.
Advanced Settings tab in the Flock window

Advanced Settings — analytics, retries, caching, and editor tools.

Error handling

Every SDK failure raises FlockException with a readable Message, a Code for coded backend errors, and a StatusCode where applicable.
The full API reference, codegen details, offline cache, and analytics tuning live in the SDK README.