Table of Contents

Class ExternalAchievementService

Namespace
GrindFest
Assembly
GrindFest.dll

Platform-agnostic service for unlocking external achievements (Steam, Kongregate, etc). Supports both progress updates (stat-based) and direct unlocks.

How it works with Steam:

  • Each achievement defines a Steam Stat name (e.g. "stat_kills") and an achievement ID.
  • Progress calls update the stat value. Steam shows progress in the overlay.
  • When the stat reaches the threshold configured in the Steamworks dashboard, Steam auto-unlocks the achievement. We also call Trigger() as a safety net.
public static class ExternalAchievementService
Inheritance
object
ExternalAchievementService

Methods

SetProgress(string, string, long, long)

Report progress toward an external achievement. Call this whenever the tracked amount changes. Steam will show a progress notification and auto-unlock when the threshold is reached.

Unlock(string)

Directly unlock an achievement without progress tracking. Use for one-shot achievements that don't have gradual progress.