Skip to content

[Feature request] Add a configuration setting to scan entire game directories automatically #18981

Description

@davidhedlund

Quick summary

First of all: Please add the CLI label to this issue.

Currently, RPCS3 populates games.yml by hardcoding individual paths for every game added via the GUI (FileAdd Games). This makes CLI automation, headless configuration, and portable setups difficult. I request adding a new setting to CurrentSettings.ini (e.g., GameDirectories = /path/to/games) so RPCS3 can automatically scan a root directory and populate the game list on startup.

Details

Current Behavior vs. Proposed Solution

Right now, games.yml explicitly maps every single title ID to its absolute folder path:

AAAAAAAA: /home/user/Downloads/Sony - PS3/AAAAAAAA/
BBBBBBBB: /home/user/Downloads/Sony - PS3/BBBBBBBB/
CCCCCCCC: /home/user/Downloads/Sony - PS3/CCCCCCCC/

Instead, a root directory option in CurrentSettings.ini would allow the emulator to scan for valid PS3 game structures (like PS3_GAME) automatically:

[Data]
GameDirectories = /home/user/Downloads/Sony - PS3

Alternatives Considered

  • External Scripting: Writing custom scripts to scrape folders and manually format/append data into games.yml before launching RPCS3. This is brittle and prone to breaking if the YAML schema changes.
  • CLI Launching (rcps3 --launch <path>): While this boots a specific game, it does not permanently populate the main UI game list for future standard launches.

Industry Reference

A root game directory setting is standard practice across almost all major modern emulators to support seamless front-end and CLI integration. Examples of how this is implemented elsewhere:

Emulator Config File Sample Implementation
Citra/Azahar qt-config.ini
Paths\gamedirs\1\path=INSTALLED
Paths\gamedirs\2\path=SYSTEM
Paths\gamedirs\3\path=/home/user/Downloads/Nintendo - 3DS
Paths\gamedirs\size=3
Cemu settings.xml
<GamePaths>
    <Entry>/home/user/Downloads/Nintendo - Wii U</Entry>
</GamePaths>
PCSX2 PCSX2.ini
[GameList]
RecursivePaths = /home/user/Downloads/Sony - PS2
PPSSPP ppsspp.ini
[General]
CurrentDirectory = /home/user/Downloads/Sony - PSP
Ryujinx Config.json
"game_dirs": [
  "/home/user/Downloads/Nintendo - Switch"
]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions