Achievements
Achievements motivate players and provide progression goals beyond core gameplay. Quest Data tracks unlock rates across your entire player base.
Creating Achievements
Section titled “Creating Achievements”- Go to Players > Achievements
- Click New Achievement and fill:
- ID:
first_boss_defeat - Name: “First Blood”
- Description: “Defeat the first boss”
- Icon: Upload a PNG (128x128)
- Hidden: Checkbox (hide from menu until earned)
- Points: Optional XP reward
- ID:
- Click Save
Tracking Achievements
Section titled “Tracking Achievements”Unlock achievements using the dedicated SDK function:
# Unlock an achievementQuestData.unlock_achievement("first_boss_defeat", func(response: Dictionary): if response.get("success") and not response.get("already_unlocked"): show_achievement_popup(response["achievement"]))
# Fetch all achievements with unlock statusQuestData.get_achievements(func(achievements: Array, total: int, unlocked: int): print("Unlocked %d / %d points" % [unlocked, total]))See the SDK Achievements guide for full API details and caching.
Global Unlock Rates
Section titled “Global Unlock Rates”The dashboard shows what % of your player base has earned each achievement:
| Achievement | Unlocks | Players | Rate |
|---|---|---|---|
| First Blood | 450 | 1000 | 45% |
| Speedrunner | 120 | 1000 | 12% |
| Completionist | 45 | 1000 | 4.5% |
Interpretation:
-
50%: Too easy, maybe reduce reward or make more challenging
- 10-50%: Good difficulty, healthy progression
- <5%: Very hard, ultra-endgame, or broken
Hidden Achievements
Section titled “Hidden Achievements”Achievements marked “Hidden” don’t appear in the menu until earned. Use for:
- Secret bosses
- Easter eggs
- Speedrun challenges
- Trolling achievements
Sorting Options
Section titled “Sorting Options”Sort by:
- Unlock Rate - Most to least common
- Points - Highest reward first
- Rarity - Rarest first (motivates completionists)
Editing & Deprecation
Section titled “Editing & Deprecation”- Edit: Change description, icon, points anytime
- Disable: Mark obsolete achievements (locked to completed players)
- Delete: Remove from new players’ lists
API Reference
Section titled “API Reference”curl "https://api.questdata.io/v1/achievements" \ -H "x-game-api-key: YOUR_API_KEY"Response:
{ "achievements": [ { "id": "first_boss_defeat", "name": "First Blood", "description": "Defeat the first boss", "points": 10, "hidden": false, "unlock_count": 450, "unlock_rate": 45.0 } ]}