Define achievements as config that tracks player progress automatically.
In Flock, an achievement is a kind of config/template — defined alongside your
game config and player templates — that
auto-generates a player data entry to track each player’s progress. You don’t call a separate
achievements API: you configure the achievement, and Flock provisions the matching
player data for you to read and update.
Dashboard
Unity
Unreal
Define achievements on the Achievement Config page — this is the source of truth. Each
achievement becomes part of your game config and player templates, and Flock creates a player
data entry to hold progress.
Define achievements on the Achievement Config page.
UnlockAchievementAsync takes the achievement name, or a generated enum after a schema sync so
it cannot be mistyped. The SDK resolves the achievement-tagged row for you.
PlayerData row = await FlockClient.Instance.Commands.UnlockAchievementAsync("first_win");// After a sync — typed, so a name the server doesn't have fails at compile time:row = await FlockClient.Instance.Commands.UnlockAchievementAsync(FlockAchievementId.FirstWin);
The typed overload is additive — the raw-string one stays public — but prefer it.If you keep achievement details (display name, description, reward) in a game config tagged
achievement, codegen wires them to the same enum, so you award and look up details with one
value:
// Returns the matching entry — a type generated from your own config.var firstWin = await FlockClient.Instance.Config.GetAchievementDetailsAsync(FlockAchievementId.FirstWin);
Unlocks queue offline and replay when the connection returns.
Flock Unlock Achievement takes the achievement name, or a generated dropdown after a schema sync
so it cannot be mistyped. The SDK resolves the achievement-tagged row for you.
Sdk->GetCommandProvider()->UnlockAchievement(TEXT("first_win"), OnUnlocked);// After a sync, with the id baked in:FFlockGenerated::UnlockAchievement(this, EFlockAchievementId::FirstWin, OnUnlocked);
Unlocks queue offline and replay when the connection returns.
Achievements are configured, not coded. Define them on the Achievement Config page; the SDK
then surfaces them through game config and player data.