Achievement System
A production-ready Unity achievement system for defining, tracking, unlocking, displaying, saving, testing, and extending achievements in commercial games.
Free
About this package
PressXP Achievement System is a premium Unity package for adding a complete, production-ready achievement layer to commercial games without building the entire system from scratch.
It gives developers a clean, data-driven way to define achievements, track progress, unlock rewards, display notifications, persist state, validate content, and prepare for future platform integrations.
The package is designed for indie developers, small studios, technical designers, publishers, and porting teams that need an achievement system that works quickly for simple projects but still scales to shipped games.
Core Features
- Data-driven achievement definitions using ScriptableObjects
- Support for basic, progress, hidden, tiered, multi-condition, time-based, and dependency-based achievements
- Stable achievement IDs for safe long-term persistence and migration
- Deterministic, idempotent unlock flow
- Progress tracking with incrementing, setting, clamping, milestone events, and automatic unlocks
- Hidden achievement modes, including fully hidden, partially visible, and generic locked descriptions
- Runtime save/load support with local storage abstractions
- Event system for unlocks, progress updates, notifications, and integrations
- Optional polished achievement notifications
- Achievement list UI and customizable display hooks
- Editor validation for duplicate IDs, missing fields, invalid thresholds, mappings, and migration risks
- Debug tooling for testing unlocks, progress, saves, resets, and mock sync
- Adapter-ready architecture for future Steam, Game Center, Google Play Games, console, cloud, analytics, and LiveOps integrations
Built for Real Games
PressXP Achievement System is structured like a professional Unity package. Runtime code is separated from editor tooling, storage, UI, platform sync, demo content, and tests.
The core runtime works offline and does not depend on UnityEditor, Steamworks, Game Center, Google Play Games, console SDKs, or any specific input system. Platform integrations are adapter-based, so developers can use the core system immediately and add external services later.
Achievement definitions can include:
- Permanent ID
- Display name
- Description
- Locked description
- Icons
- Category
- Tags
- Point value
- Hidden state
- Progress requirements
- Localization keys
- Platform mapping IDs
- Dependencies
- Rarity metadata
- Optional reward metadata
Achievement IDs are treated as stable public identifiers. The system is designed to help teams avoid accidental ID changes after release and support safe migration when schema or content changes are required.
Simple Runtime API
The public API is focused on the actions developers actually need:
- Unlock an achievement
- Add or set progress
- Check unlock state
- Read progress
- Subscribe to achievement events
- Register custom storage, notification, condition, platform, or provider systems
Runtime code can use stable string IDs or optional generated constants, avoiding fragile scene references and keeping gameplay code clean.
A global service is available for convenience, while advanced users can manually initialize or inject the achievement service for larger architectures.
Editor Tooling
The package includes professional editor tools to help teams create, inspect, test, and ship achievement content with confidence.
Planned tooling includes:
- Searchable achievement database
- Achievement creation wizard
- Validation dashboard
- Duplicate ID detection
- Missing field warnings
- Invalid threshold checks
- Platform mapping tools
- Localization audit tools
- Import/export utilities
- Play Mode debug window
- Optional generated constants
- Documentation links and setup helpers
These tools are designed to reduce mistakes before launch, especially around save compatibility, platform mappings, localization, and hidden achievement behavior.
Demo and Samples
The included polished demo scene, Achievement Lab, shows the system working end-to-end.
It demonstrates:
- Simple unlocks
- Progress achievements
- Threshold unlocks
- Hidden achievements
- Achievement list UI
- Notification popups
- Save/load persistence
- Reset and debug controls
- Mock platform sync
Samples also cover basic setup, custom storage, custom conditions, mock platform adapters, hidden achievement flows, progress UI, and runtime integration patterns.
Testing and Production Confidence
PressXP Achievement System is built with a high testing bar.
EditMode tests cover definition validation, duplicate IDs, invalid fields, hidden behavior, platform mappings, unlock logic, progress clamping, save migration, corrupted save data, event order, import/export validation, and editor database scanning.
PlayMode tests cover initialization, scene transitions, bootstrap setup, manual setup, UI rendering, progress bars, notifications, notification queueing, save/load behavior, multiple unlocks, mock sync, large achievement collections, frequent progress updates, and save throttling.
The goal is simple: after import, a developer should be able to run the sample, create an achievement, trigger an unlock, see a polished notification, restart Play Mode, confirm persistence, inspect the editor tools, and understand how to ship.
Performance and Scale
The system is designed to support small games with 50 achievements, larger games with 200 achievements, and live-service projects with 500 or more achievements.
Performance priorities include:
- Cheap progress updates
- Low allocations
- No expensive reflection in hot paths
- No full-list scans during frequent updates
- Save debouncing
- Forced saves on unlock and app quit
- Efficient notification queueing
- Partial UI refreshes
- Platform sync that never blocks gameplay
Extensible by Design
PressXP Achievement System is built around clean interfaces so teams can extend it over time.
Future integrations can include:
- Steam achievements
- Game Center
- Google Play Games
- Console platform adapters
- Cloud save
- Analytics
- Reward systems
- Quest systems
- Stats systems
- Localization systems
- PressXP platform services
- LiveOps achievement events
Why Use It?
Achievements seem simple until a shipped game needs persistence, progress tracking, hidden behavior, localization, validation, platform mappings, notifications, debugging, testing, migration, and long-term API stability.
PressXP Achievement System handles the hard parts so developers can focus on game design.
It is clean enough for beginners, flexible enough for studios, and stable enough for shipped games.
Stats
Package metrics, ratings, and feature checklist.
—
Reviews
Ratings and feedback from customers who purchased this package.