Current State of Load Order and Dependencies

anansethespider

Warlord
Joined
Oct 27, 2016
Messages
288
Right now I'm in the process of putting up mods on steam that call and depend upon other mods on Steam. As I do this, I'm encountering all sorts of strange technicalities concerning the way different mods load. And the worst part of it is the inconsistency - I'm finding certain configurations work for me but crash for others, and vice versa. So I'm starting this thread to discuss the Best Current Practices in the Civ VI modding community for mod stacking and dependencies.

In order to illustrate what I'm talking about and provide further posts a platform for discussion, let's take this example:

Level 1A: Mods 1-5 are all standalone mods, meaning they can be run all by themselves along with the base game. They require nothing but the base game of Civ in order to run.

Level 1B: Mods 6-10 all require one or more piece of official DLC, but other than that require nothing beyond the base game in order to run.

Level 2: Mods A, B, C, D, and E all add onto the components introduced in mods 1-10. For instance, mods at this level might take all of the new units introduced in 1-10 and standardize their cost. So these mods will contain references to new assets introduced in 1-10.

Level 3: Mods I, II, and III take a variety of other mods, some from level 1 and some from level 2, and combine them all in a single game setup. They contain references to all of the new assets introduced in levels 1 and 2, and must come after them in the stack.


And you could go further than that, but I think it's enough to illustrate my point. Right now I'm organizing my mods without any <LoadOrder> commands, because that seems to be the most stable. Inside all of my level 2 mods, I'm putting dependencies on the level 1. And inside all of the level 3 mods, I put dependencies on the level 2. And this seems to be working so far.

However, when I put a dependency on a level 1 mod inside a level 3 mod, it does not work. The level 3 mod only wants to call on the level 2, which will then call on the level 1 through its own dependency. At least I think.

More later.
 
I had this issue with a couple of my mods.

They load in the order they are subscribed to.

You have to add the dependencies to the modinfo fles yourself cos modbuddy does not add them at all, even when you set them up.
 
Well check on that last part cause I don't use Modbuddy at all for anything but generating the GUID :D

Thats such a huge pain in the ass, concerning the load order. I'm trying to wrap my mind around why such a decision would exist. And what on Earth I should do to make sure that everyone loads all the mods in a standard order...

Check this out if you get a chance HB: http://steamcommunity.com/sharedfiles/filedetails/?id=884167768&tscn=1489605892

It's a practical example of a level 3 Mod like I described in OP. It references and depends on a bunch of mods which themselves reference and depend on mods. And it works....sometimes.

If I could get it working all the time it would be huge.
 
I've got my modpack working for everyone on Steam (I believe!) with just a few adjustments from what I mentioned in the OP. It manages to integrates 15 different mods from the Steam workshop alongside the 4 DLC, all while using just a handful of Load Order commands. Let me tell you what I did:


Level 1: Logos, Miraculum, Naturalia, Nirvana, Redistricting, Strategos - all of these mods have dependencies on either the Aztec DLC, or on nothing. They are all standalone mods that can be run with just themselves and the base game. None of them have ANY load order commands.

Level 2: Redistricting: Projects - This mod references assets from many of the Level 1 mods. So of course it has dependencies on all the level 1 mods, but that is not enough to guarantee stability. Putting a load order command in the properties of the mod doesn't work either, because it will sometimes still load the components in the wrong order. What I discovered I needed to do here was add <LoadOrder> commands to the individual components of this mod. I set them to <LoadOrder>4000</LoadOrder>, and it guarantees that Redistricting: Projects loads after all the level 1 mods.

Level 3: Linear Civ - this mod references assets from the Level 1 mods as well as from Redistricting: Projects. In addition to the usual dependencies, its components once again have <LoadOrder> commands this time set to <LoadOrder>5000</LoadOrder>.

Level 4: BFG Modpack - this mod references all of the assets from lower level mods, and also accesses assets from about a half dozen other mods by various authors. Because this needs to act as the final filter, in addition to the usual dependencies its components have a <LoadOrder> of 12000.
 
Back
Top Bottom