Folders and paths#
Where Courage Reborn looks for mods, saves, and mod data on disk.
User data directory#
Most writable game data lives under a single user data folder:
| Platform | Default location |
|---|---|
| Windows | %APPDATA%\Linifadomra\CourageReborn\ |
| macOS | ~/Library/Application Support/Linifadomra/CourageReborn/ |
| Linux | ~/.local/share/Linifadomra/CourageReborn/ |
You can override the root with data_path in config.ini (see below). When data_path is empty, the game uses the platform path above.
Modding is not supported on iOS. The paths above apply to desktop builds only.
Inside that folder you will typically find:
<user_data>/
├── config.ini
├── mods/ # mod packages
├── saves/
├── mod_saves/ # Petrichor.Storage JSON
├── cache/
└── ...
Folder names for mods, saves, and mod_saves can be renamed in config.ini under the [paths] section.
Where the game finds mods/#
Petrichor and the in-game Installed Mods screen use Paths::GetModsDir(). Resolution order:
<data_path>/<mods_folder>whendata_pathis set and that mods folder already exists<launch_dir>/<mods_folder>when that folder exists (portable or dev layout next to the binary)<user_data>/<mods_folder>as a fallback
mods_folder defaults to mods. launch_dir is the directory that contains the game executable (and usually augment.bin).
During local development, many authors keep mods beside the build output:
Scripted mod packages#
One folder per mod, with a manifest at the root:
Petrichor loads every subdirectory that contains mod.json. See Mod manifest.
Asset overrides inside a mod package#
Put replacement game files under res/, mirroring the disc path:
mods/
└── my-master-sword/
├── mod.json
└── res/
└── object/
└── alink.arc/
└── bmwe/
└── al_swm.bmd
The game file on disc is res/object/alink.arc/bmwe/al_swm.bmd. Your copy goes at mods/<mod-id>/assets/overrides/res/object/alink.arc/bmwe/al_swm.bmd.
Use "kind": "asset" in mod.json if the package only ships file overrides. See Asset modding.
Global shaders#
Drop fragment mods with no package:
See Shader mod.
config.ini paths#
Relevant [paths] keys in <user_data>/config.ini (or beside the binary for portable installs):
| Key | Default | Purpose |
|---|---|---|
data_path | (empty) | Override the user data root |
mods_folder | mods | Name of the mods directory |
mod_saves | mod_saves | Folder for Petrichor.Storage JSON files |
save_folder | saves | Game save files |
game_folder | game | Extracted disc assets |
Petrichor.Storage writes to:
Bundled read-only files ship inside the mod package:
Use Storage.asset() or Storage.asset_path() to read them. See Petrichor.Storage.
In-game shortcuts#
From the main menu, open Mods, then Installed Mods:
- Open folder opens the resolved mods directory in your file manager
- Reload rescans the mods folder without restarting the game