Skip to content
RetrogamingHow-To Published Updated 5 min readViews unavailable

How to Set Up RetroAchievements in RetroArch

Set up RetroAchievements with protected credentials, a supported RetroArch core, recognized RA hashes, Casual or Hardcore rules, and verified sync.

RetroAchievements adds community-authored achievement sets, leaderboards, and rich presence to supported classic games. The client evaluates achievement logic against memory exposed by a supported emulator/core and submits unlocks to the service. That is more precise than claiming the service can independently prove every action or prevent all cheating.

Set up authentication, verify the content-derived RA hash, choose Casual or Hardcore intentionally, and test server submission before beginning a long run.

Step 1: create and protect the account

Register only at the official RetroAchievements site, confirm the email, use a unique password, and enable available account protection. Do not reuse a platform, email, or administrator password.

RetroArch stores an authentication token after login. Never post the token, password, cookies, API key, full retroarch.cfg, or screenshots containing them. A sanitized support report needs RA hash, achievement ID, frontend/core versions, and timestamp—not credentials.

Step 2: use an officially supported client/core

Install RetroArch and cores from official Libretro distribution or a trusted OS package. Check RetroAchievements’ emulator support page for the system/core. Unsupported cores may expose memory differently or lack newer logic support.

Do not install modified “achievement enabled” binaries from file-sharing sites. RetroAchievements’ rules prohibit non-compliant modified clients for Hardcore credit and can remove tracking privileges.

Step 3: enable Achievements and authenticate

In current RetroArch menus:

Settings → Achievements → Enable Achievements

Enter the RetroAchievements username/password in the trusted UI and save configuration normally. If login worked previously but later fails, Libretro notes the token may have expired; clear the stored RetroAchievements login and authenticate again.

Test HTTPS connectivity and correct system time. Never disable TLS verification or install an unknown certificate to fix login.

Step 4: load lawful content and verify recognition

Use your own legally obtained dump. Load the game, open Quick Menu → Information, and record the RetroAchievements Hash. Compare it with Supported Game Hashes on the game’s page.

Filename is irrelevant. Region, revision, header, disc executable/layout, translation, randomizer, and patch output can change the RA hash. RetroAchievements documents system-specific hashing, so a generic whole-file MD5 is not always the same value.

If no set appears, do not download another user’s ROM. Verify base revision and any officially supported patch, or play without achievements until the hash is supported.

Step 5: inspect the active achievement list

With recognized content running, open Quick Menu → Achievements. Confirm title, active achievements, points, and mode. Read set notes and individual descriptions; some require difficulty, fresh start, no password, or an event during the current session.

Coverage varies. No notification can mean unsupported hash, unsupported core, disabled achievements, login failure, or network failure—not necessarily that the game has no set.

Step 6: choose Casual or Hardcore accurately

Casual mode allows normal emulator conveniences and still awards Casual achievements/completion. Hardcore creates separate mastery/leaderboard credit and enforces restrictions.

Current Hardcore requirements block loading save states, cheats, rewind, slow motion, and frame advance; switching into Hardcore requires reset. The current FAQ explicitly allows fast-forward, correcting older guides that list it as universally disabled. Quick resume must drop the session to Casual.

Choose mode before launch and verify the indicator. Do not attempt to bypass restrictions through memory tools, scripts, state manipulation, or modified clients.

Step 7: preserve native saves and understand states

Normal in-game saves, memory cards, and passwords remain the durable progress route, although sets may use save protection to require observed events. Back them up with RetroArch closed.

In Casual mode, loading a state can restore game memory without restoring all achievement condition history. RetroAchievements documents situations where this prevents an expected trigger. If an achievement fails, reproduce from an in-game save before assuming the set is broken.

Step 8: configure notifications, leaderboards, and rich presence

Enable only notifications useful to the player and ensure they do not obscure gameplay or expose account activity on a stream. Leaderboards can track time/score for sets that implement them; rich presence displays current game state.

In Hardcore, compliance requirements may require leaderboard and rich-presence operation even when popup visibility can be adjusted. Read current client behavior rather than disabling enforcement with external tools.

Step 9: test one real unlock and server sync

Choose an early, unambiguous achievement. Meet it normally, wait for the local notification, then verify the account page. Do not quit immediately after an offline unlock.

Libretro states offline awards can be cached for the current session and submitted after reconnection. If RetroArch closes before synchronization, preserve evidence and use the official manual-unlock process rather than editing profile data.

Step 10: secure multi-device use

Use the same account but avoid simultaneous sessions that write the same save. Keep frontend/core versions and RA hashes recorded per device. A save state synchronized across architectures may fail independently of achievements.

Protect config backups because they may contain authentication material. Redact tokens before cloud/config sharing, and do not enable BIOS/system-file sync as part of an achievement setup.

Step 11: troubleshoot methodically

  • Cannot log in: website account, token refresh, time/DNS/HTTPS, sanitized log.
  • Game not recognized: RA hash and Supported Game Hashes.
  • Set recognized but inactive items: supported current core/frontend and required memory features.
  • Condition not triggered: exact achievement, mode, save/state history, set notes, reproducible path.
  • Unlocked locally but missing online: keep session open, restore connectivity, then manual-unlock request if needed.

Never send copyrighted content, firmware, keys, states containing private data, or credentials to support.

Step 12: report defects through the official workflow

Capture RA hash, achievement ID, exact requirement, emulator/core versions, mode, timestamp, and minimal reproduction. Check existing tickets/comments. Sanitize logs and video notifications.

Do not force an award with cheats because the condition “should have” worked; player rules explicitly forbid circumventing achievement logic. Use the documented issue or manual-unlock channel.

Step 13: preserve a reproducible profile

Record account name without secrets, frontend/core versions, RA hash, Casual/Hardcore choice, native-save path/backup, and last verified server sync. Restart RetroArch and confirm recognition persists.

Setup is complete when a supported hash displays its set, the chosen mode is explicit, an earned test unlock appears server-side, and no credential or protected game data is exposed in backups or support material.

Related:

Sources:

Comments