Yes—RetroArch can load game cheat files and toggle codes per title through its Cheats menu using the .cht format.
Cheats in RetroArch live at the crossroads of two things: your chosen core and the exact game build you’re running. When everything lines up, turning on infinite lives or unlocking a hidden character feels effortless. When it doesn’t, you’ll see “no cheats found,” codes that switch on but do nothing, or a game that acts like nothing changed.
This article shows how RetroArch handles cheats, what files it expects, where they belong, and the small settings that decide whether a code works. You’ll leave with a repeatable checklist you can run in a minute before you blame the core, the game, or the cheat set.
How RetroArch Cheats Work Under The Hood
RetroArch doesn’t invent cheats on its own. It reads cheat definitions from plain-text .cht files, then asks the running core to apply them to the game’s memory. That means two practical rules matter more than any menu option.
- Cheats are game-specific. A code made for a different region, revision, or hack often targets different memory addresses.
- Cheats are core-specific. Some cores fully handle RetroArch cheat toggles. Others only accept certain code types, or rely on their own internal cheat systems.
RetroArch’s built-in Cheats screen is still the control center. From there, you load a file, enable the lines you want, then apply the changes so the core can act on them.
RetroArch Cheats Compatibility And Setup Steps
If you want cheats to work consistently, treat setup like a short routine. You’re not doing anything fancy. You’re making sure RetroArch looks in the right folder and the file matches the game you launched.
Step 1: Confirm You’re In The Right Menu
Load the game first. Then open the Quick Menu and enter Cheats. If you don’t see a Cheats entry at all, you’re either in the wrong menu level, or the current core isn’t exposing the standard cheat interface.
Step 2: Load A Cheat File
In the Cheats menu, choose “Load Cheat File” and pick a .cht that matches your title. If you keep a big library, it helps to store cheat files in one dedicated folder so browsing stays quick.
Step 3: Turn On The Lines You Want
Each cheat line has an “Enabled” toggle. Switch on only what you plan to use. Stacking dozens of codes can cause odd game behavior, and it makes troubleshooting a slog.
Step 4: Apply Changes And Save If Needed
After toggling, select “Apply Changes.” Many cores won’t react until you do. If you want the same cheats active next time you load the game, save the cheat file after you’ve configured it.
Cheat File Types You’ll See Most Often
RetroArch cheat files can represent different code families under one format. You’ll often see names like Game Genie, GameShark, Action Replay, Code Breaker, or system-specific variants. The visible label helps, yet the part that matters is whether the running core understands that handler for that system.
If a cheat set exists for your game, a solid starting point is the official libretro cheat collection. It’s a large, organized set of .cht files grouped by system and title. You can browse it online, grab the pieces you need, and keep your local folder tidy. libretro-database cheat collection
When you need to create or edit a code, the official cheat code documentation walks through adding a new entry, typing the code, enabling it, and applying changes from the Cheats menu. RetroArch cheat code documentation
What Makes A Cheat Match The Game You Loaded
Most “it doesn’t work” cases come down to mismatch. The cheat file can be correct in general, yet wrong for your exact ROM or disc image.
Region And Language Variants
Many systems ship separate USA, Europe, and Japan builds. Text, layouts, and even item tables can shift. Cheats that hook a memory address for health or currency often shift too. Pick a cheat file that names the same region as your content.
Revisions And Reprints
Some popular games have multiple revisions. A “Rev 1” build can fix bugs and move data. If your cheat file mentions a revision, match it.
Hacks, Mods, And Fan Translations
A patch can change code paths and data tables. Treat patched games as their own thing. If a cheat set exists, it’s usually built for that patch specifically.
Where RetroArch Looks For Cheat Files
RetroArch uses a cheat directory path, then the Cheats menu uses that path as a default browsing location. On desktop platforms, you can store cheats wherever you like as long as the directory setting points there. On handhelds and TV boxes, it’s common to keep cheats near your BIOS folder or inside your RetroArch data directory so backups stay easy.
If you keep multiple installs, set one rule for yourself: one cheat folder per install. Mixing folders across different RetroArch builds invites confusion when paths change or permissions differ.
Common Cheat Workflow By Platform
Platform details change the file path, not the core idea. You still load a file, toggle lines, apply changes, then save.
Windows, macOS, Linux
Desktop setups are the easiest. You can drag in new .cht files, keep them under version control, and edit them in a text editor. If you use playlists across drives, keep your cheat folder in a stable location so RetroArch doesn’t lose it after a move.
Android
Android file access can be the gotcha. If RetroArch can’t browse into a folder, move the cheat set into RetroArch’s own writable area, then point the cheat directory there. Once the directory is set, browsing in the Cheats menu gets painless.
Steam Deck And Linux Handhelds
The Deck behaves like a desktop Linux setup. The main thing to watch is whether you’re running RetroArch from Steam, Flatpak, or another package system. Sandboxed installs can limit file access outside their allowed directories, so store cheats where the app can read them.
Consoles And Single-Board Devices
On closed platforms, the cheat folder is usually inside the app’s data tree. Keep your cheat files small and organized. A giant dump can slow browsing and make it easy to pick the wrong title.
Table 1: Cheat Setup Checklist And What Each Step Fixes
| Checkpoint | What To Do | What It Fixes |
|---|---|---|
| Game loaded first | Start the game, then open Quick Menu → Cheats | Cheats menu options that are missing or inactive |
| Correct core selected | Verify the core matches the system and your content | Codes that load but never affect gameplay |
| Cheat directory set | Point RetroArch’s cheat directory to your .cht folder |
“No cheats found” when files exist elsewhere |
| Right title and region | Pick a .cht with the same region and naming as your game |
Cheats that toggle on yet do nothing |
| Lines enabled | Turn on only the cheats you want | Silent disabled state that looks like a failure |
| Apply Changes used | Select “Apply Changes” after edits | Cheats that never take effect after toggling |
| Save cheat file | Save the .cht if you want persistence |
Cheats that reset on next launch |
| One cheat at a time | Test one code, then add more | Hard-to-diagnose conflicts and crashes |
| Restart after big changes | Reload the game after swapping large cheat sets | Stale state where old values linger |
When Cheats Load But Still Don’t Work
Seeing cheat lines in the menu is progress. It means RetroArch can read the file. The next question is whether the core can apply those values to the running game.
The Code Handler Doesn’t Match The System
Some cheat entries are meant for a specific code family. If the file is labeled for one handler and your core expects another, you’ll get toggles that never land. Try a cheat file built for the same system and code family as your content.
The Game Uses Dynamic Values
Some games store health, ammo, or currency in a way that changes addresses during play. In that case, a simple static write may fail. A different cheat that targets a stable address, or an in-core style cheat system, can work better.
You’re Using A Savestate That Overrides The Cheat
Loading a savestate can overwrite memory values right after you apply a cheat. If a cheat seems to “turn off,” test it from a clean boot, then try it again after the savestate loads.
The Cheat Needs A Trigger
Some codes only take effect after a screen transition, a menu open, or a level load. After applying changes, do one normal in-game action that causes values to refresh.
Editing And Creating Cheats Inside RetroArch
RetroArch lets you add new cheat entries from the Cheats menu. It’s useful when you have a known code from another source, or when you want a small custom set without downloading a full folder.
Adding A New Entry
Use “Add New Code to Top” or “Add New Code to Bottom,” then open that line to edit its fields. You can type a code, give it a description, and mark it enabled. After that, apply changes so the game can respond.
Keeping Your Cheat List Clean
Name your entries in plain language you’ll recognize later. “Max money” beats “Cheat 07.” If a code only works on a specific revision, add that note in the description so you don’t waste time next month.
Saving Only What You Use
A lean file is a fast file. If you’re done testing, delete the entries you don’t plan to run. Smaller sets make it easier to spot conflicts.
Table 2: Common Fixes For The Most Common Cheat Problems
| Symptom | Likely Cause | Try This |
|---|---|---|
| Cheats menu missing | Wrong menu context or core interface limits | Load the game, open Quick Menu, then check again |
| “No cheats found” | Directory points elsewhere or file name mismatch | Set cheat directory, then load a matching .cht |
| Lines toggle on, nothing changes | Region/revision mismatch | Swap to a cheat file that matches your exact game build |
| Cheat works, then stops | Savestate reload overwrote memory | Enable cheats after loading the savestate |
| Game crashes after enabling cheats | Conflicting writes or unstable codes | Disable all, enable one at a time, then narrow it down |
| Cheat only works sometimes | Needs an in-game trigger | Apply changes, then change area, open a menu, or reload a level |
| Can’t browse to cheat folder | Platform permissions | Move cheats into RetroArch’s writable directory |
| Cheats reset every launch | File not saved or per-game overrides missing | Save the cheat file after toggling your set |
Cheats Vs. Core Options And In-Game Toggles
Not every “cheat-like” feature is a cheat file. Some arcade cores expose DIP switches or service settings under Quick Menu → Options. Those can grant free play, change difficulty, or unlock hidden flags without touching a .cht. Treat them as separate tools.
If a code set isn’t available, core options can still get you what you want, especially for arcade and home computer systems. It’s worth checking the Options screen before you hunt down cheat files.
A Simple Way To Troubleshoot In Two Minutes
- Boot the game fresh, no savestates.
- Open Quick Menu → Cheats.
- Load a
.chtthat matches your region and revision. - Enable one cheat line.
- Select Apply Changes.
- Do one in-game action that forces a refresh.
If that single code works, the core and file format are fine. Add more codes one by one. If it fails, swap to a cheat file for a different revision or a different code family for that system. If every file fails, the core may not accept the type of cheats you’re trying to use.
Good Habits That Keep Cheats From Becoming A Mess
- Store cheats by system. Mirror the folder style used by the libretro database so your library stays readable.
- Keep filenames honest. Include region and revision tags in your file names when you edit them.
- Test on a clean boot. Savestates can hide whether a cheat really works.
- Use fewer codes. The more memory writes you stack, the harder it is to pinpoint a bad one.
Cheats are meant to be fun, not a maintenance chore. When your folder is tidy and your workflow is consistent, RetroArch’s Cheats menu stays predictable across systems.
References & Sources
- libretro.“libretro-database.”Repository containing the official libretro
.chtcheat files organized by system and game. - Libretro Docs.“RetroArch cheat and rumble codes.”Step-by-step instructions for loading, enabling, adding, and applying cheats from the RetroArch menu.
