RetroAchievements Offline (Softcore) + Hardcore Reliability
Version 0.6.0 introduces full RetroAchievements offline support for Softcore, plus a much more reliable submission / retry flow for Hardcore unlocks online.
This is implemented entirely client-side and has been aproved by RA Team:
warm-start cache + tamper-evident ledger + smart sync replay.
Feature in this fork (by @SapphireRhodonite):
Offline Achievements: Softcore
You can now unlock achievements while offline in Softcore mode.
Requirement (first-time online)
To use Softcore offline, you must open the game at least once with internet so melonDS can fetch and cache the achievement set + conditions.
After that, you can go offline and achievements will still be evaluated and queued.
What you’ll see in the UI
- If you launch a game without internet, melonDS runs as Softcore Offline (Hardcore is disabled if there’s no internet at start).
- If you have pending Softcore unlocks, the game launch flow can show a prompt asking if you want to sync.
- Achievements that are queued offline are marked “In ledger” in the achievement UI (ROM details + in-game list).
Syncing offline unlocks (Softcore)
You can sync pending Softcore unlocks in two ways:
- Per-game settings → RetroAchievements tab → Sync now
- On game launch, melonDS will show a message if it detects pending sync work
Hardcore: Improved Online Retry Logic
Better online Hardcore retries
Hardcore submission now behaves much better under real-world conditions (temporary drops, flaky networks, transient errors). Unlocks are retried more intelligently instead of failing silently.
Hardcore offline (status)
Hardcore offline-from-start is not enabled yet.
It will be evaluated depending on how stability/testing goes with Softcore offline first and other conditions on the RA Team side.
Exit / crash behavior (Hardcore)
- If you try to exit a game with pending Hardcore unlocks, melonDS can warn you (continue playing or exit anyway and loss them).
- If the app closes unexpectedly with pending Hardcore unlocks, they are discarded on next launch and you’ll get a notification about the loss for that game.
Smart Sync
When syncing, melonDS does this:
- ordered replay (relative timing preserved)
- validates against the current RA set (skips achievements that changed or no longer exist)
Additional Improvements (by @rafaelvcaetano)
- Allow achievement progress to be visualized in the achievements list while emulator is running
- Add availability check to DSiCameraSource
- Fix RetroAchievements not working for 7z compressed ROMs
- Add RetroAchievements multi-set support
- Fix occasional crash when RetroAchievements progress updates are submitted very frequently
Support & Early Access
If you'd like early access to upcoming builds, help shape development priorities, or participate in feature testing and feedback discussions, consider supporting the project on Patreon:
https://patreon.com/SapphireRhodonite
Early builds and work-in-progress features are released there before public GitHub releases, and community feedback directly influences what gets polished and shipped.
Thanks to everyone testing, reporting issues, and contributing.

