When talking about load order in relation to assets, we are referring to the order in which files with the same path are loaded by the Creation Engine. When the game starts up, all mod archives and individual files from the game directory are loaded together into a virtualised structure. The highest priority overwrite of each asset path will be the one used in-game.
There are few different ways to instruct the game to load files, each of these methods has a different priority. The basic structure is shown below, with the lower items in the list overwriting the ones which came before it.
{Archives loaded by the Engine}
{Archives loaded by the game INI files}
{Archives loaded by plugin-specific INI files}
{Archives loaded by active plugins}
{Loose files}
In Skyrim, the archives loaded by the engine are incorrect, so they must always be overridden by the game config files (INIs).
Each game using Creation Engine will have a list of "hard coded" archive files (BSA/BA2) which are loaded in the absence of any overrides. This generally includes all the archives required to play the base game.
Game INI files are most often the files under Documents\My Games\{GAME NAME}\
, however, in some circumstances these files can be placed from the game root folder (this is default in Morrowind and is an INI option in later titles).
Within the INIs there will be a section to list which archives to load (and in which order). For Morrowind this is [Archives]
and for later titles this is [Archive]
. Depending on the game, the keys listed under this heading will differ. Some examples are shown below.
Morrowind.ini
[Archives]
Archive 0=Tribunal.bsa
Archive 1=Bloodmoon.bsa
Skyrim.ini
[Archive]
sResourceArchiveList=Skyrim - Misc.bsa, Skyrim - Shaders.bsa, Skyrim - Interface.bsa, Skyrim - Animations.bsa, Skyrim - Meshes0.bsa, Skyrim - Meshes1.bsa, Skyrim - Sounds.bsa
sResourceArchiveList2=Skyrim - Voices_en0.bsa, Skyrim - Textures0.bsa, Skyrim - Textures1.bsa, Skyrim - Textures2.bsa, Skyrim - Textures3.bsa, Skyrim - Textures4.bsa, Skyrim - Textures5.bsa, Skyrim - Textures6.bsa, Skyrim - Textures7.bsa, Skyrim - Textures8.bsa, Skyrim - Patch.bsa
Fallout76Custom.ini
[Archive]
sResourceArchive2List=SomeModArchive.ba2
In the case of multiple keys, they are usually numerical and will overwrite each other in that order. The order of values in comma-separated lists also denotes priority.
These INI values are overwritten in a specific order if they can be featured in multiple settings files. The winning INI's key will be used and other archives listed in overwritten files will not be loaded. For example, the sResourceArchiveList
in Skyrim.ini
is completely overwrittten by the same value in SkyrimCustom.ini
.
It is not recommended that you use plugin INI files to overwrite the base game values unless you know what you are doing.
In later versions of Creation Engine, plugins can include their own INI files which overwrite the values in the game INI files. These INIs only apply if a plugin with a matching name is enabled. For example, Red.esp
must be enabled for the values in the [Archive]
section of Red.ini
to be used.
As discussed above, the INI values with higher priority will completely replace the lists from lower priority ones. This means a plugin INI for Skyrim featuring an empty sResourceArchiveList
will cause none of the base game BSA files to be loaded.
Plugins do not need to include an INI file to load assets, this can be achieved by including a companion archive file. Provided the plugin is enabled in the load order and the archive name matches, the assets in that archive will be loaded by the engine.
In Skyrim Special Edition, it is possible to load two archives per plugin. This is achieved by having a second archive with - Textures
on the end of the file name. For example, MyMod.esp
will load MyMod.bsa
and MyMod - Textures.bsa
when enabled.
In Fallout 4, it is possible to load up to 8 archives per plugin. This is achieved by suffixing the file name with Main
, Textures
, Sounds
, Voices
, Interface
, Meshes
, Materials
or Misc
. This means, MyMod.esp
can load:
Fallout 4 will not load MyMod.ba2
without a suffix.
The overwrite order of matching assets inside archives is determinned by the Plugin Load Order.
The engine will load all loose files located in the Data
folder of the game (or Data Files
for Morrowind) without requiring a plugin. These files have an absolute overwrite of any assets included inside archives.
When using multiple mods which have loose files, it is highly recommended to use a mod manager. Most mod managers for Creation Engine games feature utilities to decide which loose files should be used in the event of conflicts.
In cases where mods are intended to replace the base game assets or multiple mods include assets with the same files paths, it is important to ensure that files are being loaded correctly.
While, for some modders, they will want to simply extract all archives (except the base games ones), this is not recommended as the Plugin Load Order will resolve many conflicts.