-
Notifications
You must be signed in to change notification settings - Fork 51
Dependencies and Load Ordering
Knowing you can add dependencies and load order preferences to your mod.json manifest, you may want to know more about how QModManager will sort all this.
Without going into detail about the inner workings of how mod load order is handled, here are a few rules that QModManager follows when preparing the final, ordered list of mods to initialized.
So simple mods that don't need external libraries will be loaded first.
And if you happen to forget to list a common dependency, then it is more likely that it will be loaded before the dependency anyways.
This makes anything in the "Dependencies" or "VersionDepencencies" lists effective a mandatory "LoadBefore".
It also means that if you include a Dependency, then you don't also need to include a "LoadBefore" entry.
Use this if you have optional cross-mod functionality that requires that one mod be loaded before or after another.
{
"Id": "BestMod",
"DisplayName": "Best Mod",
"Author": "Awesome Guy",
"Version": "1.0.0",
"Dependencies": [ "DependencyModID" ],
"VersionDependencies": {
"SMLHelper": "2.0",
"AnotherVeryImportantMod": "1.2.3"
},
"LoadBefore": [ "AModID", "SomeOtherModID" ],
"LoadAfter": [ "AnotherModID" ],
"Enable": true,
"Game": "Subnautica",
"AssemblyName": "BestMod.dll"
}From our example mod.json, this is how this would be validated and sorted:
-
BestModwill not load at all unless-
DependencyModIDmod is present -
SMLHelperis present and is at least at version 2.0 or higher -
AnotherVeryImportantModis present and is at least version 1.2.3 or higher
-
- If
AModIDand/orSomeOtherModIDare present thenBestModwill be loaded before those- If neither are present then
BestModwill continue loading as normal
- If neither are present then
- If
AnotherModIDis present thenBestModwill be loaded after it- If it is not present then
BestModwill continue loading as normal
- If it is not present then
If there is something missing or ambiguous, please create an issue or contact us on the Subnautica Modding Discord using our tags:
- PrimeSonic:
@PrimeSonic#0667 - Metious:
@Metious#3682