Modding 101 - CritLoren/Yggdrasil-VR GitHub Wiki
WIP
So, you want to modify Yggdrasil VR (or a different list and have found your way here), or you've just got some mods you've downloaded but you don't know how to make your list work. Fret not, I shall be going through some of the steps I have gone through in hopes that this knowledge may be helpful to you so you can get Skyrim just as you want it to be.
For the purposes of this guide I shall be assuming you use Mod Organizer 2. If you don't know how, Lively has a really useful guide on how to get started. You can probably still follow some of these steps if you use Vortex, but I have no knowledge of how things work in Vortexland so I cannot provide any help with that nor can I confirm that these steps work 1:1 with that. I will also be skipping any steps to do with filtering through mods (don't download mods that make radical changes from new authors) sorting your load order and downloading patches (look into the mods you use in their Requirements
tab on their nexus page, you can usually see mods that have patches for your mod among the Mods requiring this file
category).
There are multiple methods to do this, my suggested method might seem a bit tedious (as it's devoid of any automation like Wrye Bash or Smash Patch and it's all manual), but it's also quite thorough and gets you to know your list of mods on a more intimate level, but it's not necessarily the best for everyone, and you're welcome to come up with your own (and let me know as well, in case it's more efficient!).
Now that we've gone through that, let's start setting some things up.
For Yggdrasil VR users: If you're on Yggdrasil VR some of these are already downloaded and set up, namely steps 2 and 3, I cannot confirm if it's the case for the others though, especially depending on what version you're modifying, so do follow up on these and double check.
-
In MO2 click the Wrench and Screwdriver icon on the top toolbar of Mod Organizer in order to open the Settings window. Once the window opens, switch to the Nexus tab (visible at the top of the window), then click the Connect to Nexus button under Nexus Connection. Shortly after clicking, a window will open in your internet browser asking if you’d like to "authorize Mod Organizer 2 to use your Nexus Mods account". Click Authorize. It will then show that it has successfully logged into MO2 and instead of "Connect to Nexus" MO2 will now say "Connected". Click OK, MO2 will now restart again just like before, if it asks you to choose an Instance choose Portable.
-
Download zEdit and xEdit (I usually go for the pre-release on this one because it's light years ahead in terms of fixes) and put them in a folder, I usually put my stuff in
MO2/Tools
where it gets its own folder if it doesn't have one already. You can also download Wrye Bash and Mator Smash, but throughout this guide I will be advising against their usage, not because they're bad, but because it's safer, more educational and better to method patch (I will be describing what that means later). We'll be using zEdit's zMerge functionality for merging, and xEdit for the important part, conflict checking. After getting everything ready there, add them to the Executables list in Mod Organizer 2 - for zEdit use-appMode="merge" -profile="Skyrim VR"
in theArguments
field, and for xEdit use-tes5vr -pseudoESL
; the -pseudoESL flag is very important for being able to load the entire load order when you're conflict checking (no, it doesn't make Skyrim VR allow more than 255 esps). -
Download Deorder's MO2 Plugins and LostDragonist's MO2 Plugins and extract both of their contents into the
plugins
folder in your MO2 installation. -
Download MergeMapper and install it like any other mod. This will make merging more seamless and add compatibility with mods like SPID, Base Object Swapper and a few others, and it will also make it so you don't need to relink scripts for the merges. It's a life saver, make sure to thank Alandtse!
After setting all of those plugins up, it's time to install some mods, organise them and check them for conflicts (this process is called Conflict Resolution, or CR for short - I'll be using this term a lot). As I've previously mentioned, it's up to you to filter through what mods you'll be adding, I will not be teaching you proper etiquette for that (and it's more of a thing you pick up over time really anyway). After installing your moods, place them in some appropriately named categories in the left list (if there aren't any yet, or none of them fit, just make a new separator).
What we'll be doing is splitting mods by categories or common themes, say all armour and weapon mods go into a merge called "Equipment Merge", Landscape edits go into a "Landscape Edits Merge", and if you have quite a few patches for a specific mod, they go into their own merge (say, a "Sunhelm Merge" for all sunhelm patches). The idea is to segment the mods in such a way that there isn't going to be a lot of conflict between them all, and if there is, there's a clear winner on which merge should be hosting any patches because of scoping (say you have a patch merge for a city overhaul mod, and that conflicts with the landscape Edits merge; due to the scope of the city merge being more specific the City Overhaul merge should be the merge to hold any patches made against the Landscape Edits merge, and not the other way around).
For Yggdrasil VR users Yggdrasil VR already follows a similar structure, so you don't need to set any of this up - nevertheless it should be a good read to understand the logic behind the existing merges.
There are a few general pointers I recommend for ordering your merges, and categorizing the mods:
- Try to limit the amount of mods with navmeshes you're merging, they're a bit annoying to deal with;
- Think in terms of conflict likeliness for your merge order: due to how conflicts work in the Creation Engine, anything that places an item in the world will be overriding the records for the cell it's in and the worldspace, so it'll have many conflicts based on that, so you probably want to have your Landscape Edits merge a bit later in the order. If this is a bit hard to grasp, don't worry too much, come back once you've gone through your conflicts list once or twice and it might make more sense after;
- Don't merge mods that you're likely to be needing to reference at some point (say, don't merge mods that you think will be used as masters by other mods, such as mods like Bruma, Campfire or other similar mods; Also avoid spell mods if you're likely to use something like Spell Research, because that looks for individual esps, etc etc).
Once your load order is complete, your merge situation will look something like:
┌ Game ESMs ├ Other Mods │ - - - ├ Merge 1 ─┬── Mod 1 │ ├── Mod 2 │ ├── Mod 3 │ └── Mod 4 │ ├ Merge 2 ─┬── Mod 1 │ ├── Mod 2 │ ├── Mod 3 │ └── CR with Merge 1 │ ├ Merge 3 ─┬── Mod 1 │ ├── Mod 2 │ ├── Mod 3 │ └── CR with Merge 1 and 2 │ ├ Merge 4 ─┬── Mod 1 │ ├── Mod 2 │ ├── Mod 3 │ └── CR with Merge 1, 2 and 3 └ Synthesis & DynDOLOD
Now, this system does have the flaw that if you change something in Merge 1, you have to recheck the other merges as well, but you were going to do that anyway since you're a thorough person, and don't want to leave it up to chance before starting your new playthrough, right?
Once you've defined some categories, and have ordered your mods based on which merge they'll be going in (second level of the tree above), duplicate your existing MO2 profile. Rename this duplicate to the name of the merge you're planning to make, then launch the xEdit entry from within MO2, and select everything up to the last mod in Merge 1, with everything following it disabled. Once the list has finished loading your list on the left should look something like:
┌ Game ESMs ├ Other Mods │ - - - ├ Mod 1 ├ Mod 2 ├ Mod 3 └ Mod 4
For Yggdrasil VR users: If you're using an existing merge, you'll need to go in MO2 under
Tools
>Tool Plugins
, openMerge Plugins Hide
then right click the entry for the merge you want to edit, and select "Enable Plugins".
Now it's time for the fun spreadsheet stuff! If you haven't checked for conflicts before, follow the following guide and make sure any patches you make are named semantically, for your own sanity (I usually follow the rule of <override winner> - <override loser> patch
).
Once you're finished with all the patches, it's time to get into zMerge, make a new merge, select all the mods to be included in the merge (don't tick any masters, just the mods is fine), make sure the Merge Method is set to Clobber, the "Use game load order" under the Load Order
tab is ticked (and double check that it's the same order, if it isn't the Profile Redirector plugin is not working correctly), and the same goes for the "Extract BSA" option under the Data
tab. Do not use the "Copy Assets" option, that can be a bit glitchy and copy over .esp files as well. If you want to copy any loose files, bsa pack them before merging, the "Extract BSA" option will then take care of them for you. For merge names I usually set the merge folder name to <current modlist version> - <merge name>
and the filename to Merge - <merge name>
. Do not confuse the two and accidentally put a version name in the esp name, or you're in for a rough time when you need to update the merge and a subsequent patch in another match is looking for "1.0.1 - Schlong of Skyrim Patches.esp"
The reasoning for each of these is as follows:
- The "Clean" method is plain buggy, Mator is already aware so no need to bother them, just use "Clobber" for now;
- "Use game load order" means it's going to use the exact same load order from your list, this means that you'll be sure that any load order changes you've made in MO2 will follow through here, especially useful when adding mods to a merge;
- "Extract BSA" is needed to make sure BSA packed assets are still being loaded after the original mods are hidden.
You can now build the merge! After it's built, close zMerge, switch to the main profile, away from the Merge 1 profile and in MO2 tick the merge in the left panel, then from under Tools
> Tool Plugins
open Merge Plugins Hide
then right click the freshly made merge and select "Disable Plugins". After closing the Merge Plugins Hide window your Plugins
tab to the right should have a load order devoid of the merged plugins, similar to the following example:
┌ Game ESMs ├ Other Mods │ - - - └ Merge 1
Congrats! You've made your first plugin!
I recommend opening the merge in xEdit and seeing for yourself if everything's gone through alright (and use the Check for Errors context menu option, just to be sure there weren't any issues with zMerge). If you had any navmeshes in the merge, you'll want to delete the NAVI
records, then open the plugin in the Creation Kit, and then resave it.
Now that the first merge is done, you'll be doing the same thing for any subsequent merges, always duplicating your primary MO2 profile, and making sure to always load the previously made merges before the mods you're merging now:
┌ Game ESMs ├ Other Mods │ - - - ├ Merge 1 ├ Merge 2 ├ Mod 1 ├ Mod 2 ├ Mod 3 └ Merge 3 CR
If you find any conflicts between a mod you're currently merging and a pre-existing merge, copy that over into an esp that's to be last in the LO, called something similar to <merge name> CR
, it all goes into this one esp because this is going to be your first stop shop when you've updated a pre-existing merge and need to check to make sure everything's in order.