ModProfile (.me3) configuration reference¶
What is a ModProfile configuration?¶
A ModProfile configuration is a versioned TOML file that tells me3 which mods to load, how to load them, and the games they support. It acts as a manifest for your mod setup, listing asset override packages and native DLLs with an optional load order.
- How it's used: me3 reads the ModProfile to know which mods to load and in what order. You can launch a profile by double-clicking it (Windows) or using the CLI (
me3 launch --profile my-profile.me3). - Versioning: The
profileVersionfield ensures older profiles remain compatible after breaking changes. - Flexibility: Profiles can be stored anywhere, reference relative or absolute paths, and are forward compatible with new me3 features
Example configuration¶
profileVersion = "v1"
[[packages]]
id = "my-cool-texture-pack"
path = 'mods/MyCoolTexturePack/'
[[packages]]
id = "my-cool-model-pack"
path = 'mods/MyCoolModelPack/'
[[natives]]
path = 'mods/MyAwesomeMod.dll'
Dissecting the example configuration¶
- profileVersion: This is the version of me3 this profile was written for. It allows older profiles to continue working correctly after breaking changes are made in the profile format.
- [[packages]]: Each block defines a package of asset overrides. The
idis a unique name for the package, andpathpoints to the folder containing the mod files. You can add multiple packages by adding more[[packages]]blocks, each with a uniqueid. Note that we use single quotes here, to avoid having to escape backslashes in Windows paths. - [[natives]]: Each block defines a native DLL mod to load. The
pathpoints to the DLL file. You can add multiple natives by adding more[[natives]]blocks.
Reference¶
See below for a rendered version of the mod profile schema.
Properties¶
ModProfile¶
- One of
- object: Refer to ModProfileV1.
profileVersion(string, required): Must be:"v1".
Definitions¶
Dependent (object)¶
id(string, required)optional(boolean, required)
Game (string)¶
List of games supported by me3.
- One of
- : Sekiro: Shadows Die Twice (Steam App ID: 814380). Must be one of:
["sekiro", "sdt"]. - : Elden Ring (Steam App ID: 1245620). Must be one of:
["eldenring", "er", "elden-ring"]. - : Armored Core VI: Fires of Rubicon (Steam App ID: 1888160). Must be one of:
["armoredcore6", "ac6"]. - : Elden Ring Nightreign (Steam App ID: 2622380). Must be one of:
["nightreign", "nr", "nightrein"].
- : Sekiro: Shadows Die Twice (Steam App ID: 814380). Must be one of:
ModFile (string)¶
A filesystem path to the contents of a package. May be relative to the [ModProfile] containing it.
ModProfileV1 (object)¶
natives(array): Native modules (DLLs) that will be loaded. Default:[].packages(array): A collection of packages containing assets that should be considered for loading before the DVDBND. Default:[].supports(array): The games that this profile supports. Default:[].
Native (object)¶
enabled(boolean): Should this native be loaded? Default:true.finalizer(['string', 'null']): An optional symbol to be called when this native successfully is queued for unload.initializer: An optional symbol to be called after this native successfully loads.- Any of
- : Refer to NativeInitializerCondition.
- null
load_after(array): Default:[].load_before(array): Default:[].optional(boolean): If this native fails to load and this value is false, treat it as a critical error. Default:false.path: Path to the DLL. Can be relative to the mod profile. Refer to ModFile.
NativeInitializerCondition¶
- One of
- object: Cannot contain additional properties.
delay(object, required)ms(integer, format: uint, required): Minimum:0.
- object: Cannot contain additional properties.
function(string, required)
Package (object)¶
A package is a source for files that override files within the existing games DVDBND archives. It points to a local path containing assets matching the hierarchy they would be served under in the DVDBND.
enabled(boolean): Enable this package? Default:true.id(string, required): The unique identifier for this package..load_after(array): A list of package IDs that this package should load after. Default:[].load_before(array): A list of packages that this package should load before. Default:[].path: A path to the source of this package. Refer to ModFile.
Supports (object)¶
game: Refer to Game.since(['string', 'null'])