Directory Layout
The files Lustral adds to a game folder, and the locations available to mods:
txt
<game>/
├─ <game>.exe
├─ winhttp.dll Lustral's native loader, loaded by the game
├─ Mods/
│ └─ <mod id>/ one folder per mod
│ ├─ mod.toml the mod's manifest, generated by the SDK
│ ├─ <Mod>.dll the mod's assembly and debug symbols
│ └─ ... shipped files (asset bundles, data)
└─ Lustral/
├─ loader.toml Lustral's configuration for this game
├─ config/ mod settings: <id>.toml and <id>.schema.json
├─ data/ mod data: <id>/
├─ Logs/ latest.log and logs from previous sessions
├─ Reports/ crash reports
├─ updates/ pending mod updates and the versions they replaced
├─ cache/ data Lustral keeps between sessions
├─ interop/ IL2CPP games: generated interop assemblies
├─ core/ Lustral's runtime
├─ dotnet/ IL2CPP games: the .NET runtime used by mods
└─ generator/ IL2CPP games: the interop assembly generatorOwnership and Retention
| Path | Owner | Retention |
|---|---|---|
Mods/<id>/ | The mod | Replaced when the mod is updated. |
Lustral/config/ | The user | Preserved by mod updates, reinstallation and Lustral updates. |
Lustral/data/<id>/ | The mod (runtime data) | Always preserved. |
Lustral/loader.toml | The user | Always preserved. |
Lustral/Logs/, Lustral/Reports/ | Lustral | Logs from the last ten sessions are kept. |
Lustral/interop/ | Lustral | Regenerated after game updates. |
Lustral/core/, dotnet/, generator/ | Lustral | Replaced when Lustral is updated. |
From mod code: Info.Directory is the mod's Mods/<id>/ folder, Info.DataDirectory its Lustral/data/<id>/ folder, Config.FilePath its settings file, and Game.Directory the game folder.
Unity Files
Unity writes its log, Player.log, to %USERPROFILE%\AppData\LocalLow\<developer>\<game>\, alongside the game's saved data.