github binary-knight/usurper-reborn v0.20
Alpha v0.20 - Steam Achievements Fix

latest releases: v1.0.3, v1.0.2, v1.0.1...
6 months ago

Usurper Reborn v0.20.0-alpha - Steam Achievements Fix

Release Highlights

This release fixes a critical issue where Steam achievements were not syncing properly, along with improved testing tools for Steam integration.

Bug Fixes

Steam Achievements Not Syncing (Critical)

  • Root Cause: CI/CD pipeline was building Steam releases with -c Release instead of -c Steam, which meant the STEAM_BUILD preprocessor directive was never defined. All Steam-specific code (achievement unlocks, stat syncing, etc.) was being compiled out of the executable.
  • Fix: Updated CI/CD workflow to use -c Steam configuration for all Steam builds. Added explicit Steam build configurations to the project file with proper STEAM_BUILD definition.
  • Impact: Manual achievement unlocks (marriage, friendships, no-death runs, etc.) now properly sync to Steam. Stat-linked achievements were partially working before because Steam's server-side processing handles those automatically when stats are uploaded.

Flaky Spell System Test

  • Fixed CastSpell_ReturnsValidResult test that had a 5% failure rate due to natural 1 critical failures on the d20 roll. Test now validates result structure rather than asserting success.

New Features

Steam Stats Reset (Dev Menu)

  • Added [R] Reset Steam Stats & Achievements option to the Developer Menu
  • Allows testers to reset all Steam stats and achievements for their account
  • Includes confirmation prompt to prevent accidental resets
  • Only affects the currently logged-in Steam user (not a global reset)

Achievement Sync on Load

  • Game now syncs previously-unlocked achievements to Steam when loading a save
  • Ensures achievements earned offline or before the fix are properly registered with Steam

Enhanced Steam Diagnostics

  • Added detailed logging for Steam initialization status
  • Achievement unlock attempts now log success/failure with achievement IDs
  • Helps diagnose Steam integration issues in debug.log

Technical Changes

Build Configuration

  • Added explicit Steam and SteamRelease configurations to project file
  • Steam configurations include:
    • STEAM_BUILD preprocessor directive
    • Release optimizations enabled
    • Debug symbols disabled

CI/CD Updates

  • Steam Windows build: -c Steam -r win-x64
  • Steam Linux build: -c Steam -r linux-x64
  • Steam macOS build: -c Steam -r osx-x64

Files Changed

  • .github/workflows/ci-cd.yml - Fixed Steam build configuration
  • usurper-reloaded.csproj - Added Steam build configurations
  • Scripts/Systems/SteamIntegration.cs - Added ResetAllStats(), enhanced logging
  • Scripts/Systems/AchievementSystem.cs - Added SyncUnlockedToSteam()
  • Scripts/Locations/DevMenuLocation.cs - Added Steam reset option
  • Scripts/Core/GameConfig.cs - Version bump to 0.20.0-alpha
  • Tests/SpellSystemTests.cs - Fixed flaky test

Upgrade Notes

Players who earned achievements before this fix should:

  1. Load their save game
  2. The game will automatically sync any previously-unlocked achievements to Steam

For testers needing a fresh start:

  1. Access the Developer Menu (if enabled)
  2. Select [R] Reset Steam Stats & Achievements
  3. Confirm the reset

Full Changelog: https://github.com/yourrepo/usurper-reborn/compare/v0.19.0...v0.20.0

Don't miss a new usurper-reborn release

NewReleases is sending notifications on new releases.