achievement-module

Manage and evaluate Unity game achievements with Steam synchronization.

Updated Aug 27, 2026
One-click install
npx skills add https://github.com/punkfuncgames/tetris-clone --skill achievement-module
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: achievement-module
Source: https://github.com/punkfuncgames/tetris-clone/tree/main/.claude/skills/achievement-module
Command: npx skills add https://github.com/punkfuncgames/tetris-clone --skill achievement-module

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This module centralizes achievement tracking, progress calculation, reward application, persistence, and platform synchronization so teams avoid fragile, ad-hoc achievement logic that is hard to test, inconsistent across sessions, or out of sync with Steam.

Core Features & Use Cases

  • Composable Unlock Conditions: Build complex AND/OR/NOT rules for flexible achievement gating.
  • Progressive and Event-Driven Tracking: Stat-driven progress computation combined with event-triggered updates and periodic evaluation for non-progressive checks.
  • Rewards and Persistence: Apply currency and stat rewards on unlock and persist state with a save service, including ISO 8601 timestamps and dirty-flag saves.
  • Platform Sync & Gating: Bidirectional Steam synchronization, evaluation gated by game playable state, and reactive properties for UI binding.
  • Use Case: Register a centralized AchievementDatabaseConfig at startup, surface reactive unlock state to UI, and ensure unlocks grant rewards and sync to Steam.

Quick Start

Create an AchievementDefinition that tracks a stat (e.g., "distance") with a progress target, specify a SteamAchievementId and currency reward, add it to the AchievementDatabaseConfig, and register the database so the AchievementService evaluates progress and syncs unlocks with Steam.

Frequently Asked Questions about achievement-module

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I track achievement progress and sync unlocks with Steam in Unity?

Achievement tracking and Steam sync in Unity is handled by evaluating stat-driven progress against ScriptableObject definitions, then bidirectionally synchronizing unlock states with the Steam platform to ensure consistency across sessions.

Can I build complex unlock conditions for game achievements using ScriptableObjects?

Complex unlock conditions for game achievements can be composed using AND/OR/NOT rules within ScriptableObject definitions, allowing flexible and testable gating logic without relying on fragile, ad-hoc code.

What is the best way to manage achievement rewards and persistence in Unity?

Managing achievement rewards and persistence in Unity is best done by applying currency and stat rewards upon unlock, then saving state via a dedicated save service that utilizes dirty-flags and ISO 8601 timestamps.

Does this achievement system support both event-driven and periodic stat evaluation?

The achievement system supports both event-triggered updates for immediate stat evaluation and periodic evaluation for non-progressive checks, ensuring comprehensive coverage of various unlock condition types.

How do I bind achievement unlock states to UI elements in Unity?

Binding achievement unlock states to UI elements in Unity is accomplished through reactive properties that expose the current unlock state, allowing the user interface to update automatically when an achievement is evaluated.

When should I use a centralized AchievementDatabaseConfig for game progression?

A centralized AchievementDatabaseConfig should be used at startup to register all achievement definitions, avoiding inconsistent sessions and out-of-sync Steam states by centralizing evaluation, reward application, and platform synchronization.