Initialize the EOS Achievements interface with a valid platform handle obtained after SDK initialization
Call QueryDefinitions to fetch the achievement definitions for the product, which provides the list of achievement IDs and unlock criteria
Call QueryPlayerAchievements with the local user handle to retrieve the current unlock state and progress for all achievements for that player
Update player stat values via the EOS Stats interface (IngestStat) which drives stat-based achievement unlock logic on the backend
Register a notification callback via AddNotifyAchievementsUnlocked to receive real-time events when the server evaluates stats and unlocks an achievement
On the unlock notification, surface the achievement to the player in-game and call QueryPlayerAchievements again to refresh the local achievement state
Known gotchas
EOS achievements are unlocked by the backend based on stat thresholds defined in the developer portal — you cannot force-unlock an achievement client-side without meeting the stat criteria
QueryDefinitions must succeed before QueryPlayerAchievements is called; calling player achievements before definitions are loaded results in an error
Achievement and stat definitions are configured per-deployment in the developer portal; changes to thresholds do not retroactively unlock achievements for players who already met the old criteria
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp