RetroAchievements gives old console games a modern trophy system, and it has been doing so since 2012, according to the project’s own site. The catch is that getting it working on a Windows PC takes more than a download. You need an account, an emulator that supports it, a game file that matches the achievement set, and a decision about Hardcore or Casual mode. Skip any of those and the pop-ups never appear. This RetroAchievements setup tutorial walks through all 13 steps in about 35 minutes.
Timing matters this week. On October 21, 2026, the service reportedly went offline for at least four hours, and its official account blamed a critical PHP vulnerability while telling players to keep their emulators open and screenshot any unlocks. That outage is a good reminder to separate my setup is broken from the server is down before you start changing settings. We build that habit into the guide, along with a small audit script at the end. The emulators here are RetroArch, the open-source frontend that has existed since 2012 according to its own site, plus DuckStation, PCSX2, and PPSSPP.
If you have never configured RetroArch itself, read our RetroArch setup guide with 100+ cores first, then come back. Everything below assumes the emulators already launch and play games. We only add the achievement layer on top.
Don't miss new tech stories on Google
Add Tech Insider once in the Google app and our stories appear in your news suggestions.
What RetroAchievements Does and Why Setup Trips People Up
RetroAchievements is a community project that writes achievement sets for classic games and tracks your unlocks on a public profile. Volunteers build each set by watching specific memory addresses while the game runs. When a condition triggers, such as collecting an item or beating a boss, the emulator reports it and the site records it. Your profile then shows what you unlocked, how long you took, and how you rank against other players.
The system only works when your emulator and your game file behave like the ones the achievement authors used. That is where most setups fail. The emulator has to include RetroAchievements support (or load a helper library). The game file has to produce a hash the site recognizes. And the emulator has to stay inside the rules for the mode you picked. A patched ROM, a translated disc image, or a fast-forward hotkey can each cause a silent failure.
Another source of confusion is naming. The documentation now calls the old Softcore mode Casual. RetroAchievements’ docs repository records the rebrand in a commit, so older guides and forum posts that say Softcore refer to the same thing. Hardcore keeps its name. You will see both terms in emulator menus depending on how recently each project updated its labels.
This guide targets Windows because that is where the widest choice of emulators lives. If you want the wider picture of where achievements fit into retro play, our gaming section covers emulation, handhelds, and cloud services side by side. For now, the goal is narrow and practical: get one account working across four emulators, verify each unlock lands on your profile, and learn the failure modes before they cost you progress in a 40-hour RPG.
One more point before the steps. RetroAchievements does not distribute games, BIOS files, or firmware. You supply those from discs and consoles you own. We will not link to any ROM or BIOS source here, and the audit script at the end only inspects file names and settings. Nothing in this guide requires downloading copyrighted material.
Prerequisites and Versions to Have Ready
You need a Windows 11 PC, a stable internet connection, and about 2 GB of free disk space for the emulators alone. Game files take more. Microsoft’s release-health pages list Windows 11 version 26H2 as the newest release, with general availability reported on October 21, 2026. Version 24H2 Home and Pro editions reportedly stopped receiving updates on October 13, 2026, so move to 25H2 or 26H2 if you have not already. Emulators run fine on Windows 10 too, but Microsoft’s consumer support for it ended in October 2025, which makes a current Windows 11 build the safer host.
Here is the full checklist with the version targets we used while writing. Emulator projects move fast, so treat the version column as at least this recent rather than a pin.
| Item | Target as of October 23, 2026 | Where it comes from |
|---|---|---|
| Windows | Windows 11 25H2 or 26H2 | Windows Update |
| RetroArch | Latest stable x64 build (libretro docs reportedly list 1.22.2) | retroarch.com |
| DuckStation | Latest preview or rolling build, Windows x64 or ARM64 | Official GitHub releases page |
| PCSX2 | Latest stable build (v2.9.136 from October 21 is a pre-release) | pcsx2.net |
| PPSSPP | Current Windows build | Official PPSSPP site |
| Archive tool | 7-Zip or Windows 11 built-in extraction | Any trusted source |
| RetroAchievements account | One account, unique password | The RetroAchievements site |
| Game files | Dumps from discs and cartridges you own | Your own collection |
Two version details deserve a closer look. DuckStation now ships mainly through rolling and preview builds rather than a conventional numbered release. Its releases page still lists historical numbered builds such as v0.1-11894, but the top entries are labeled Latest Preview Build and Latest Rolling Release. PCSX2 splits its channels more clearly. It keeps a stable channel and a fast-moving development channel, and v2.9.136 (published October 21, 2026) sits on the development side. Pick stable unless a game you want needs a fix from a newer build.
You also need a few legal files. PlayStation emulators ask for BIOS dumps from your own console, and some achievement sets only recognize specific disc revisions. Gather those now so you are not hunting for them mid-setup. Allow 35 minutes if the emulators are already installed and 60 if you start from scratch.
Which Emulators Support RetroAchievements on PC
Support comes in two flavors. Some emulators build RetroAchievements in, so you log in from a settings screen and nothing else is needed. Others rely on RAIntegration, a Windows DLL that bolts the achievement toolkit onto a standalone emulator. Built-in support is simpler, and RetroAchievements’ own documentation points players there first.
| Emulator | Systems | Support type | Where to log in | Watch out for |
|---|---|---|---|---|
| RetroArch | Dozens of systems via libretro cores | Built in, depends on the core | Settings > Achievements | Memory monitoring is supported by some cores and not others |
| DuckStation | PlayStation 1 | Built in (its own implementation) | Settings > Achievements | Do not combine it with RAIntegration |
| PCSX2 | PlayStation 2 | Built in on current builds | Settings > Achievements | Stable and development builds differ |
| PPSSPP | PSP | Built in on recent builds | Settings > Tools > RetroAchievements | Old versions have no support |
| Standalone emulators (Dolphin, BizHawk and others) | Varies | RAIntegration DLL | RetroAchievements menu or toolkit | Check the docs for your build first |
The RetroArch row needs the most attention. Libretro’s documentation lists “Memory Monitoring (achievements)” as a per-core feature. The Atari 2600 Tia core supports it, for example, while HypseusHW and DOSBox-core do not. In practice you should open the documentation page for your chosen core and confirm the achievements line before you spend an evening playing. If you are weighing the PlayStation 1 options head to head, our comparison of DuckStation, ePSXe and RetroArch shows how the standalone and core-based approaches differ.
For this tutorial we configure the first four rows. They cover the most popular systems on PC, they each have a native login screen, and they let you keep the process consistent. The same pattern (enable, log in, pick a mode, load a supported game) applies to any new emulator you add later. When a project updates, labels may change slightly, but the sequence stays the same.
Hardcore vs Casual: Pick Your Mode Before You Play
Mode choice shapes how you play, so make it before the first boot. Hardcore mode disables features that would undermine real-console-style play. Casual mode allows them. The difference shows up immediately: in Hardcore, loading a save state is blocked, and tools such as cheats, rewind, and slow motion switch off. In Casual, those tools work and you still earn achievements, but you give up the leaderboards.
| Feature | Hardcore | Casual (formerly Softcore) |
|---|---|---|
| Load save states | Blocked | Allowed |
| Cheats | Disabled | Allowed |
| Rewind and slow motion | Disabled | Allowed |
| Frame advance and memory tools | Disabled | Allowed |
| Leaderboards | Available | Not available |
| Switching in the middle of a game | Casual to Hardcore requires a reset | Hardcore to Casual works directly |
Two rules catch new players. First, switching from Casual up to Hardcore forces a full reset of the running game, so you cannot flip it on at the final boss. Second, in-game saves (the memory card or battery save the original console used) still work in Hardcore. Only emulator save states are blocked. If a game has long stretches without a save point, plan around that before you commit.
According to the RetroAchievements documentation, finishing every achievement in a game while in Hardcore mode earns a mastery badge on your profile. That is the main reason people pick Hardcore. If you mostly want trophies for fun, or you play games with punishing difficulty, Casual removes the friction. You can mix both. Many players start a game in Casual, learn the layout, and restart in Hardcore for the real run.
The idea is familiar from modern storefronts. Valve recently reworked how achievements are grouped on Steam, which we covered in Steam’s new achievement sets and art mode update. RetroAchievements has used sets for years, and it layers a stricter rulebook on top because the games run through emulation instead of a closed platform.
Steps 1 to 3: Account, Game Check, and Folder Layout
The first three steps need no emulator at all. Do them in a browser and a file explorer, and the rest of the guide goes faster.
Step 1: Create your RetroAchievements account
Open the RetroAchievements site, choose Create Account, and pick a username you will not want to change. Confirm the email link that arrives. Use a password you do not reuse anywhere else. Emulators send your username and password once to the login endpoint and then store a token, but a unique password still limits the damage if you ever share a config file by accident. Keep the browser tab open because you will check your profile in Step 12.
Step 2: Confirm your game has an achievement set
Search the site for the exact game title and console. A game with a set shows a page with an achievement count, point total, and a list of supported game files with their hashes. A game without a page has no set, and no emulator setting will change that. Write down the supported file type and region for each game you plan to play. RetroAchievements identifies games by a hash of the content, so a European disc may work while a Japanese one does not.
Spend a minute on the rest of the game page too. It lists how many achievements the set contains, how many points they are worth, and which of them other players find hardest. Scan the titles for anything that depends on a mode or an item you might miss, because some achievements can be locked out if you skip an area. Writing down two or three of those before you start costs nothing and saves a restart later. Sets also grow over time as authors add or rework entries, so a game you played last year may show a different count today.
Step 3: Build a clean folder layout
Avoid Program Files. Windows restricts writes there, and emulators that store settings next to the executable will fail quietly. Create a dedicated tree on a drive with room to spare. Run this in PowerShell:
$root = "C:\Emulators"
$roms = "D:\Games\ROMs"
"RetroArch","DuckStation","PCSX2","PPSSPP" | ForEach-Object {
New-Item -ItemType Directory -Force -Path (Join-Path $root $_) | Out-Null
}
"PS1","PS2","PSP","SNES","Genesis","GBA" | ForEach-Object {
New-Item -ItemType Directory -Force -Path (Join-Path $roms $_) | Out-Null
}
Get-ChildItem $root, $roms | Select-Object FullName
You should see ten folders listed, four emulator folders and six system folders. Put each game dump in the folder for its system, and keep BIOS files separate. If you need a refresher on where BIOS files belong for each core, our guide to RetroArch BIOS files across 12 systems lists the expected file names. Never rename a BIOS to make it work because a wrong hash is a sign of a bad dump.
Steps 4 to 6: Install RetroArch and Log In
RetroArch covers the most systems with the least overhead, so it makes the best first test. Once it reports achievements correctly, the other emulators feel familiar.
Step 4: Install RetroArch and the cores you need
Download the stable Windows x64 build from the RetroArch site and extract it into C:\Emulators\RetroArch. Launch retroarch.exe, open Main Menu > Online Updater > Core Downloader, and install a core for each system you own games for. Before you download each one, check the core’s page in the libretro documentation for the achievements line described earlier. Skip cores that do not list support. RetroArch itself stays active, and the libretro docs saw fresh edits as recently as October 23, 2026, though a major stable release has not been confirmed in the last three months.
Step 5: Enable achievements and sign in
Go to Settings > Achievements. Switch on the RetroAchievements toggle, then open the account entries and type your username and password. If you have not worked in this menu before, expect a notification confirming a successful login. Leave Hardcore Mode on if you picked it, and consider enabling Leaderboards and Rich Presence now so you do not have to return later. RetroArch writes the result into its config file, and you can verify it directly:
# C:\Emulators\RetroArch\retroarch.cfg (relevant lines)
cheevos_enable = "true"
cheevos_hardcore_mode_enable = "true"
cheevos_leaderboards_enable = "true"
cheevos_richpresence_enable = "true"
cheevos_username = "YourUsername"
cheevos_token = "xxxxxxxxxxxxxxxx"
Notice that the file stores a token and not your password. That token works like a password for your account, which matters for Step 13. If the token line is empty after you log in, the login failed. Retry and watch the notification text.
Step 6: Load a supported game and read the notification
Pick a core, load a game file from Step 2, and watch the first few seconds. RetroArch should pop up a message naming the game and listing how many achievements it found. Open Quick Menu > Achievements to see the full list with locked and unlocked states. If nothing appears, the game either has no set, the file hash does not match, or the core does not support achievements. Our RetroArch walkthrough from first launch to first game helps if the core refuses to start at all.
A sample of a healthy load looks like this in RetroArch’s log when verbose logging is on:
[INFO] [RCHEEVOS]: Logged in as YourUsername
[INFO] [RCHEEVOS]: Identified game id 1234 (hash matched)
[INFO] [RCHEEVOS]: Loaded 56 achievements, 3 leaderboards
[INFO] [RCHEEVOS]: Hardcore mode enabled
The exact wording and counts vary by version and by game, so treat the lines above as an illustration, not a transcript. The pattern to look for is a login line, a game identification line, and an achievement count greater than zero.
Steps 7 and 8: Set Up DuckStation for PlayStation 1
DuckStation is the usual standalone choice for PlayStation 1 on PC, and it carries its own RetroAchievements implementation. That design has one consequence worth remembering. Its built-in system and the RAIntegration DLL cannot run together, so pick one route and stay on it. For everyday play the built-in route is the right one.
Step 7: Install DuckStation in portable mode
Download the Windows x64 build (or ARM64 if your PC uses an Arm chip) from the official releases page, taking the Latest Preview Build or the Latest Rolling Release. According to that page, the preview entry was dated October 22, 2026 and the latest rolling release October 13, 2026. Extract the archive to C:\Emulators\DuckStation and create an empty file named portable.txt beside the executable. That tells DuckStation to keep settings.ini in the same folder, which makes backups trivial. Start the app, run the setup wizard, and point it at your PlayStation BIOS dump. Our DuckStation setup walkthrough covers the BIOS, controller, and graphics choices in more detail.
Android players get a bonus. DuckStation’s official Android testing page describes a beta that started with an alpha build. Its Android beta build notes for October 17 mention persisting the RetroAchievements user avatar even when the feature is disabled. We do not cover the phone version here, but it shows the achievement code is still getting attention. A separate change on October 7, 2026 stopped the desktop app from fetching achievement badges without a cache.
Step 8: Enable achievements in DuckStation
Open Settings > Achievements. Tick Enable Achievements, then choose whether to tick Hardcore Mode. Press Login, enter your username and password, and wait for the confirmation. DuckStation downloads game data on the first boot of each title, so expect a short pause the first time you launch a new game. A small toast notification appears when a set loads, and another when you unlock something.
You can double-check the result in settings.ini. Section and key names may shift between builds, so use the GUI as the source of truth and the file only as a sanity check:
[Cheevos]
Enabled = true
ChallengeMode = true
Username = YourUsername
Token = xxxxxxxxxxxxxxxx
In DuckStation’s file, challenge mode is the internal name for Hardcore. If you see Enabled set to false after a successful login, a later settings change reset it, and you should tick the box again. Disc images work best in CUE/BIN or CHD form. Avoid archives, because the app has to read the disc contents directly to compute the hash.
Steps 9 and 10: Set Up PCSX2 and PPSSPP
The PlayStation 2 and PSP emulators follow the same pattern. Enable, log in, choose a mode. The details that trip people up are the build channel for PCSX2 and the minimum version for PPSSPP.
Step 9: Install PCSX2 and enable achievements
Get the installer or portable archive from pcsx2.net, and choose the stable channel unless a specific game needs newer code. PCSX2’s GitHub releases page shows a stream of development pre-releases. According to that page, the newest is v2.9.136, published on October 21, 2026. Pre-releases are useful for troubleshooting but they are not stable releases, and the release pages do not confirm which stable build is newest, so read pcsx2.net for that.
Run the first-time wizard and select your BIOS. Our PCSX2 setup for PlayStation 2 emulation explains the wizard screens. Then open Settings > Achievements, tick Enable Achievements, optionally tick Hardcore Mode, and log in. PCSX2 can also be launched with a command-line flag that loads the RAIntegration DLL instead, but only people who author achievements need that route. If you are not building sets, ignore it.
Step 10: Install PPSSPP and, if needed, add RAIntegration elsewhere
PPSSPP handles PSP games and includes RetroAchievements on recent builds. Download the current Windows release, extract it into C:\Emulators\PPSSPP, and open Settings > Tools > RetroAchievements. Log in there and enable the options you want. Older PPSSPP versions lack the feature entirely, so if the menu entry is missing, update before troubleshooting anything else.
For standalone emulators that lack a native login screen, the RAIntegration route applies. The pattern is the same across projects. Place the integration DLL in the emulator’s folder, restart the emulator, and a RetroAchievements menu appears. Always read the RetroAchievements documentation page for that specific emulator first, since support depends on the build. Do not enable RAIntegration in an emulator that already has built-in support, or the two systems will conflict.
Steps 11 to 13: Test the Rules, Verify Unlocks, Back Up Your Login
Everything is installed, but you have not proven it works. These last three steps do that, and they take about ten minutes.
Step 11: Test that Hardcore actually restricts you
Launch a supported game with Hardcore Mode on. Create a save state, then try to load it. A correct setup refuses, usually with an on-screen message. Try the rewind hotkey and the fast-forward toggle too. If a restricted feature still works, your Hardcore flag is off or the emulator did not reload the setting, so restart it and test again. If you picked Casual, run the same checks in reverse and confirm save states load normally.
Hotkeys deserve a second look while you are testing. Most emulators ship with fast-forward, rewind, and slow motion bound to keys or controller buttons you might press by accident. In Hardcore those actions are simply ignored or trigger a warning, but in Casual they work and you may not realize you used them. If you want clean Hardcore runs, unbind the restricted hotkeys entirely. That removes any doubt about whether a single stray tap affected a run, and it keeps the on-screen warnings from interrupting a tense boss fight.
Step 12: Unlock one achievement and verify it online
Pick the easiest achievement in the set, often a start-the-game or reach-level-2 entry. Earn it, watch for the pop-up, then open your profile on the site and look at the recent unlocks list. The entry should appear within moments. If it does not, wait a minute and refresh. Then check whether the service is reachable at all, because a site-side outage looks identical to a local fault. The October 21 incident is the reminder here. When the service was offline, the advice was simply to keep emulators open and screenshot unlocks as proof.
Step 13: Back up your configuration without leaking the token
Your emulator configs now hold a login token. Back them up locally and keep them away from public repositories, shared cloud folders, and screenshots. The script below copies the key files to a dated folder:
$stamp = Get-Date -Format "yyyyMMdd-HHmm"
$backup = "D:\Backups\EmuConfigs\$stamp"
New-Item -ItemType Directory -Force -Path $backup | Out-Null
Copy-Item "C:\Emulators\RetroArch\retroarch.cfg" $backup -ErrorAction SilentlyContinue
Copy-Item "C:\Emulators\DuckStation\settings.ini" $backup -ErrorAction SilentlyContinue
Get-ChildItem $backup | Select-Object Name, Length
If you ever suspect a leak, change your RetroAchievements password and log in again from each emulator. That replaces the stored token. With the backup in place and a verified unlock on your profile, the core tutorial is done. The next sections add a reusable audit script, then cover mistakes, fixes, and extras.
Using more than one PC takes one extra thought. Each emulator install holds its own token, so you log in separately on the desktop, the laptop, and any handheld. That is fine, and it means you can log out of one machine without touching the others. Sell or hand down a PC and you should log out of every emulator first, or at least change your password afterward. Your unlocks live on the server, so nothing is lost when a local install disappears.
A good first game makes the whole process easier. Pick something short with a modest achievement count, ideally a system you already know well. A 30-minute test run confirms that login, hash matching, pop-ups, and the profile update all work before you commit to a long RPG. Once one title passes every check, add the rest of your library with confidence, because the same settings will carry across every game on that emulator.
Complete Working Project: A RetroAchievements Audit Script
Manual checks get tedious once you run four emulators. This PowerShell script audits your setup in a few seconds. It reads the RetroArch and DuckStation config files, confirms achievements are enabled and a login token exists, warns if a RAIntegration DLL sits next to DuckStation, flags ROM files whose names suggest patches or translations, and tests whether the RetroAchievements site answers. It never uploads anything and never prints your token.
# RA-Audit.ps1 - read-only check of a RetroAchievements setup on Windows
param(
[string]$RetroArchDir = "C:\Emulators\RetroArch",
[string]$DuckStationDir = "C:\Emulators\DuckStation",
[string]$RomDir = "D:\Games\ROMs"
)
$results = New-Object System.Collections.Generic.List[object]
function Add-Result {
param([string]$Check, [string]$Status, [string]$Detail)
$results.Add([pscustomobject]@{ Check = $Check; Status = $Status; Detail = $Detail })
}
function Get-IniValue {
param([string]$Path, [string]$Section, [string]$Key)
if (-not (Test-Path -LiteralPath $Path)) { return $null }
$current = ""
foreach ($line in Get-Content -LiteralPath $Path) {
if ($line -match '^\s*\[(.+)\]\s*$') { $current = $Matches[1]; continue }
if ($current -eq $Section -and $line -match '^\s*([^=;#\[]+?)\s*=\s*(.*)$') {
if ($Matches[1] -eq $Key) { return $Matches[2].Trim().Trim('"') }
}
}
return $null
}
# RetroArch
$raCfg = Join-Path $RetroArchDir "retroarch.cfg"
if (Test-Path -LiteralPath $raCfg) {
$enabled = Get-IniValue $raCfg "" "cheevos_enable"
$hardcore = Get-IniValue $raCfg "" "cheevos_hardcore_mode_enable"
$user = Get-IniValue $raCfg "" "cheevos_username"
$token = Get-IniValue $raCfg "" "cheevos_token"
Add-Result "RetroArch achievements" $(if ($enabled -eq "true") { "OK" } else { "FAIL" }) "cheevos_enable=$enabled"
Add-Result "RetroArch mode" "INFO" $(if ($hardcore -eq "true") { "Hardcore" } else { Casual })
Add-Result "RetroArch login" $(if ($user -and $token) { "OK" } else { "FAIL" }) $(if ($user) { "user=$user" } else { "no username saved" })
} else {
Add-Result "RetroArch config" "WARN" "retroarch.cfg not found in $RetroArchDir"
}
# DuckStation
$dsIni = Join-Path $DuckStationDir "settings.ini"
if (Test-Path -LiteralPath $dsIni) {
$dsOn = Get-IniValue $dsIni "Cheevos" "Enabled"
$dsHard = Get-IniValue $dsIni "Cheevos" "ChallengeMode"
$dsToken = Get-IniValue $dsIni "Cheevos" "Token"
Add-Result "DuckStation achievements" $(if ($dsOn -eq "true") { "OK" } else { "FAIL" }) "Enabled=$dsOn"
Add-Result "DuckStation mode" "INFO" $(if ($dsHard -eq "true") { "Hardcore" } else { Casual })
Add-Result "DuckStation login" $(if ($dsToken) { "OK" } else { "FAIL" }) $(if ($dsToken) { "token present" } else { "no token saved" })
$dll = Get-ChildItem -Path $DuckStationDir -Filter "RA_Integration*.dll" -ErrorAction SilentlyContinue
if ($dll) { Add-Result "RAIntegration conflict" "WARN" "DLL found beside DuckStation, remove it" }
} else {
Add-Result "DuckStation config" "WARN" "settings.ini not found in $DuckStationDir"
}
# ROM names
$extensions = "*.cue", "*.chd", "*.iso", "*.sfc", "*.smc", "*.gba", "*.gb", "*.gbc", "*.nes", "*.smd"
$suspect = '\[(T[+-]|h\d*|a\d*|b\d*|o\d*)[^\]]*\]|\((Hack|Patched|Translated|Proto|Beta|Demo)[^)]*\)'
if (Test-Path -LiteralPath $RomDir) {
$files = @(Get-ChildItem -Path $RomDir -Recurse -File -Include $extensions)
$bad = @($files | Where-Object { $_.BaseName -match $suspect })
Add-Result "ROM files scanned" "INFO" "$($files.Count) files"
Add-Result "Suspect file names" $(if ($bad.Count -eq 0) { "OK" } else { "WARN" }) "$($bad.Count) flagged"
$bad | Select-Object -First 5 | ForEach-Object { Add-Result " flagged" "WARN" $_.Name }
} else {
Add-Result "ROM folder" "WARN" "$RomDir not found"
}
# Site reachability
try {
$resp = Invoke-WebRequest -Uri "https://retroachievements.org" -Method Head -UseBasicParsing -TimeoutSec 10
Add-Result "Site reachable" "OK" "HTTP $($resp.StatusCode)"
} catch {
Add-Result "Site reachable" "FAIL" $_.Exception.Message
}
$results | Format-Table -AutoSize -Wrap
if (@($results | Where-Object { $_.Status -eq "FAIL" }).Count -gt 0) { exit 1 } else { exit 0 }
Save it as RA-Audit.ps1 and run it from a normal PowerShell window. Windows blocks unsigned scripts by default, so allow it for the current session only:
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
.\RA-Audit.ps1 -RomDir "D:\Games\ROMs"
A healthy machine prints something like the output below. Your paths, names, and counts will differ, and the sample is illustrative rather than captured from a specific PC.
Check Status Detail
----- ------ ------
RetroArch achievements OK cheevos_enable=true
RetroArch mode INFO Hardcore
RetroArch login OK user=YourUsername
DuckStation achievements OK Enabled=true
DuckStation mode INFO Hardcore
DuckStation login OK token present
ROM files scanned INFO 142 files
Suspect file names WARN 2 flagged
flagged WARN Some Game (Translated) (v1.1).sfc
flagged WARN Another Game [T+Eng].gba
Site reachable OK HTTP 200
Read the WARN lines as prompts to investigate, not as proof of a problem. A name with Translated in parentheses usually fails hash matching because the patch changed the file. A FAIL on the last line points to the network or to a site outage, and the earlier rows tell you whether your local config is sound. Run the script after every emulator update, since a new build sometimes resets a setting or adds a differently named key.
Common Pitfalls That Waste an Evening
These mistakes show up again and again in forum threads. Most take a minute to avoid once you know about them.
- Playing a patched or translated file. The achievement hash comes from the original content, so fan translations and hacks rarely match. Use the file type and region listed on the game’s page.
- Mixing built-in support with RAIntegration. DuckStation’s own system and the DLL cannot run together. Pick one and delete the other.
- Assuming every RetroArch core works. Achievement support is core-dependent, so read the core’s documentation page before you invest time.
- Flipping Hardcore on mid-game. Moving from Casual to Hardcore forces a reset, and the unsaved progress is gone. Decide up front.
- Using a development build as your daily driver. PCSX2’s v2.9.x builds are pre-releases. They fix bugs quickly but they also change behavior, so stay on stable for long runs.
- Syncing the config folder to a public place. Your login token lives in those files. Treat retroarch.cfg and settings.ini like password files.
- Blaming the emulator for a server problem. After the reported October 21 outage, plenty of players changed settings that were fine. Check the site first.
- Loading disc images from inside archives. Emulators compute the hash from the disc data, and compressed containers often break that. Extract the image or convert it to a format your emulator reads natively.
PlayStation 2 players hit one more snag that deserves its own warning. A missing or mismatched BIOS stops the game before achievements even load, and the symptom looks like an achievements failure. Confirm the game boots normally first. If it does not, follow our PCSX2 BIOS walkthrough and return here afterward.
Troubleshooting: 12 Problems and Their Fixes
Work from the top of this table down. Earlier rows are more common and cheaper to test.
| Symptom | Likely cause | Fix |
|---|---|---|
| Login fails with an invalid credentials message | Typo, trailing space, or unconfirmed email | Log in on the website first, confirm the email, then retype the password by hand |
| Login fails and the website will not load | Service outage | Wait and retry later, keep any open emulator running, and screenshot unlocks |
| Logged in but no achievement count on game load | No set exists or the file hash differs | Check the game page for supported files and region |
| Works for one game, not another | Patched, translated, or overdumped file | Use an original dump listed on the game page |
| No pop-ups appear | Notifications off or hidden by overlay settings | Enable achievement notifications in the emulator and test in windowed mode |
| Save state will not load | Hardcore mode is on | Switch to Casual and reset the game |
| Hardcore setting reverts after restart | Config not saved, folder not writable | Move the emulator out of Program Files and run as a normal user |
| RetroArch core shows no achievements | Core lacks memory monitoring | Check the core’s documentation and switch to a supported core |
| Unlock missing from profile | Server delay or offline moment | Keep the emulator open, wait, then refresh the profile |
| DuckStation behaves strangely after adding a DLL | RAIntegration conflicts with built-in support | Delete the RA_Integration DLL and restart |
| PCSX2 changed behavior after an update | Development build with new changes | Reinstall the stable build from pcsx2.net |
| Disc image never identified | Image inside an archive or a broken rip | Extract it, convert to CHD or use CUE/BIN, and re-rip if needed |
If none of these match, turn on verbose or debug logging in the emulator and read the first error line after the game loads. RetroArch can log to a file from Settings > Logging. DuckStation keeps a log window under its Debug menu. Search for the exact error text on the RetroAchievements forums before assuming you hit a new bug. Chances are another player posted the same message and a moderator replied with the cause.
A final habit saves hours. Change one setting at a time and retest. When three things change at once, you lose track of which one fixed the problem and which one broke something else. Keep a plain text note with the date, the emulator build, and the change you made. That log pays off the next time an update shifts behavior.
Advanced Tips for Serious Achievement Hunters
Once the basics run reliably, a few habits make long-term play smoother. Start with build management. Keep dated copies of each emulator folder, such as DuckStation-2026-10-13, so a bad update never traps you. Portable installs make this easy because the settings travel with the folder.
Next, look at Rich Presence and leaderboards. Rich Presence shows what you are doing in a game on your profile, and leaderboards give a competitive angle for games with time trials or score attacks. Both are worth enabling in Hardcore. Some frontends also offer an encore mode that lets you re-earn achievements you have already unlocked, which suits second playthroughs and speedruns. Check each emulator’s menu to see whether it exists in your build.
If you run many emulators, a launcher saves clicks. Our EmuDeck on Windows guide shows how to manage a large emulator collection from one place, and you can then apply the same login steps inside each one it installs.
The ecosystem keeps widening too. According to Time Extension, a PS2 plug-in called xeRAbora reportedly brings RetroAchievements tracking to original, modded PlayStation 2 hardware through Open PS2 Loader. You can read the Time Extension report on RetroAchievements on original hardware for the details. Pocket Retro Gamer separately reports that the Android frontend Cartridge added RetroAchievements access to its game menus in version 0.4.9.3 and became free for everyone on October 13, 2026, and its Cartridge 0.4.9.3 coverage describes the release. Treat both as early developments and verify them before relying on them.
Performance settings deserve attention as well. Achievements read emulated memory as the game runs, so choices that change timing can interact with them. Frame-rate unlocks, aggressive speed hacks, and some run-ahead options may be restricted or discouraged in Hardcore, depending on the emulator. If a setting description warns that it may break achievements, believe it and test with a short session first. Visual upgrades such as upscaling and filters are generally safe because they only change how the image looks.
Finally, remember that the rulebook evolves. The documentation repository is still receiving updates, and it already carries the Softcore-to-Casual rename. Bookmark the docs, skim them after major emulator updates, and rerun the audit script. Your setup will stay healthy with a few minutes of upkeep.
Frequently Asked Questions
What is the difference between Hardcore and Casual mode?
Hardcore blocks save-state loading and tools like cheats, rewind, and slow motion, and it unlocks leaderboards. Casual (the new name for Softcore) allows those tools. Hardcore also qualifies you for a mastery badge when you finish every achievement in a set, according to the RetroAchievements docs.
Which emulator is best for RetroAchievements on PC?
RetroArch covers the most systems, while DuckStation, PCSX2, and PPSSPP are the usual standalone picks for PlayStation 1, PlayStation 2, and PSP. Choose by system, then confirm support in the emulator’s menu.
Why does my game not load any achievements?
The usual causes are no achievement set for that game, a file whose hash does not match, or a core without achievement support. Check the game’s page for supported files and test with an unmodified dump.
Do I need to own the games and BIOS files?
Yes. RetroAchievements does not supply games or BIOS files. Dump them from discs, cartridges, and consoles you own, and do not download them from unofficial sources.
Can I use cheats or save states and still earn achievements?
You can in Casual mode, though you lose leaderboards. Hardcore disables them. You can switch from Hardcore down to Casual at any time, but going back up requires a reset.
What should I do if RetroAchievements seems to be down?
Open the website in a browser and try your profile page. After the reported outage on October 21, 2026, the official advice was to keep active emulators open and capture screenshots of earned achievements until service returned. Then retry the login later.
Is my login token safe in the config file?
It is as safe as any password file on your PC. Keep the files out of public repositories and shared folders, and change your password to invalidate the old token if you suspect exposure.





