Skip to content
daniel@cosenza:~/blog
RetrogamingHow-To May 7, 2026 3 min read

How to Configure Per-Game Overrides in RetroArch

A complete walkthrough setting up configuration that applies only to a specific game, or only to a specific core, without changing your global defaults for everything else.

RetroArch’s core/frontend architecture supports configuration at three distinct levels — global, per-core, and per-game — this walks through using overrides to apply a setting narrowly, without touching your global defaults.

Step 1: understand the three configuration levels

Global config    — applies everywhere, for every core and game
Core override    — applies only when this specific core is loaded
Game override     — applies only to this specific game, with
                     this specific core

Overrides layer on top of the global configuration — a game override changes only the specific settings it defines, leaving everything else at whatever the global or core-level configuration already specifies.

Step 2: adjust settings the normal way, with the content you want to override already loaded

Load the specific game first, then adjust whatever
settings need to differ for it — a shader, an input
remap, a video setting, anything.

Step 3: save as a game-specific override

Quick Menu → Overrides → Save Game Overrides

This creates a configuration file scoped specifically to this exact game (matched by its content name), containing only the settings you actually changed since loading it.

Step 4: alternatively, save as a core-specific override

Quick Menu → Overrides → Save Core Overrides

Useful when a setting should apply to every game running under a specific core, rather than just one specific game — a shader that suits a particular system generally, for instance, rather than one specific title.

Step 5: verify the override is actually being applied

Load the game again after restarting RetroArch, and
confirm the overridden setting is in effect without
needing to reconfigure it manually.

Step 6: find and edit override files directly, if needed

RetroArch config directory → config/<core-name>/
  <core-name>.cfg          — core override
  <game-name>.cfg          — game override

Override files are plain text, in the same format as RetroArch’s main configuration file — directly editable if you want to fine-tune a value beyond what the in-app Quick Menu exposes conveniently.

Step 7: remove an override you no longer want

Quick Menu → Overrides → check for an option to delete
  the specific override, or manually delete the
  corresponding .cfg file from the config directory

Step 8: use game overrides for genuinely game-specific needs

Common uses: a specific game needing run-ahead disabled due to non-deterministic behavior causing visible artifacts, a specific game needing a different shader preset because of an unusual native resolution, or input remapping specific to one game’s unusual default control scheme.

Step 9: use core overrides for system-wide preferences

Common uses: a specific system’s core generally benefiting from a particular shader preset, or a core-specific performance setting (like enabling a specific core’s dynamic recompiler option) that should apply consistently to every game run under that core.

Why layered configuration, rather than one flat global config, matters in practice

Different games and different systems genuinely warrant different settings — a shader tuned for one system’s resolution may look wrong on another, and run-ahead that helps most games can cause visible glitches on a specific non-deterministic one. Overrides let you handle these exceptions narrowly and precisely, without constantly toggling global settings back and forth between sessions, or accepting a single compromise configuration that’s imperfect for everything.