About this mod
Utility that allows you to export some or all mods from one MO2 installation and import them into another one while preserving the mod and plugin order.
- Requirements
- Permissions and credits
Why would someone want this? It's very possible that I'm the only person that would ever use this, and that's fine. I'm uploading in case it comes in handy for someone else.
My use case is that I play Skyrim in VR and I like to build my own mod list on top of existing Wabbajack lists. However, a lot of mods that I like to add, such as location / city mods, are a pain to test in VR and are much easier to demo in FlatRim. So, I copied my FUS MO2 installation into a new folder, changed the target game to SSE, and replaced the VR-specific DLLs with AE equivalents (or disabled those where no replacements were available). Before I knew it, I had hundreds of mods, compatibility patches, etc set up. Suddenly, the thought of moving all of these folders into my VR installation and sorting them seemed extremely unappetizing, so I made this little utility to automate the process?
For other people, you might just be interested in seeing how some subset of mods, such as texture mods, location mods, etc, from a Wabbajack List would look in a different modlist. This utility can let you test that quickly, and if you don't like the results, the handy Undo button will revert everything back.
What are the caveats?
1) This utility won't do conflict resolution for you. It's on you to check if you need additional patches or even handmade CR patches for the mods that you move. This program just moves the mods and plugins and preserves their ordering.
2) This utility moves files and folders, and deletes them if you click Undo. If you have a handcrafted MO2 folder rather than a Wabbajack list that you can just redownload in case of emergency, consider backing up your whole MO2 folder to a different drive, or hold off for a bit after this utility's release to make sure no bugs crop up. This utility has worked in my testing, but I'm a hobby coder, not a professional - I'm not responsible for any loss of data you might experience.
3) This utility currently assumes that the mods from both the exporting and importing MO2 instances live in the root\mods folder. If someone really wants to use this program but has mods living in a custom directory, I can probably update to account for that. For the first release, the current behavior is good enough for me.
How do I use it?
Setting up the program
1) Download the zipped archive and extract it to a folder of your choice.
2) Launch MO2ExportImport.exe (not from your mod manager).
3) Close MO2 before using the program (or make sure to click "Refresh" after importing).
Exporting Mods
1) When you launch the program, you'll immediately be taken to the Export menu. If you'd like, you can change which folder your exported mods and/or mod lists get sent by clicking the "Browse" button at the bottom next to the Export Destination.
2) Click the Select MO2 Directory button at the top to choose which MO2 installation to export from. Wait for the data to load - this may take a few seconds, or longer if you're not on an SSD.
3) By default, all mods will be selected. You can click on a specific mod, or shift+click or control+click to select multiple mods, to only export those mods. You can type text into the Filter mods box to search. You can also check the boxes to skip exporting disabled (unchecked in MO2's left panel) mods and separators (they'll still be selected in the list, but will not actually be exported). You can also change which MO2 profile is being read from the dropdown menu. This won't affect which mods are selected, but can change the order in which the mods & plugins will be imported if the ordering is different between profiles. Once you're satisfied with your selection, click the Export {count} Selected Mods button.
4) A popup box will appear. You can change the name of the folder to which the mods will get exported if you like (that folder will be placed inside the main Export Destination folder). The export options are as follows:
Export Mods and List: This exports both the mod lists from the MO2 profile (to preserve ordering) and copies of the mods themselves. Use this if you think you might change or lose those mods, for example if this MO2 instance is from a Wabbajack list and you think you might update it. This option is greyed out until you click the "Calculate Space" button to make sure there's enough room on your drive to make the copy.
Export List: This only exports the mod lists from the MO2 profile along with a record of which mods you've selected. Use this option if you don't expect to modify this MO2 installation and the mods will always be in the installation's mods folder.
For this demo, I'll rename the export folder, calculate space, and export mods and list:
Wait for the copy operations to finish and the completion message to appear:
Importing Mods
1) Click "Import" in the navigation panel
2) Click the "Select MO2 Directory" button to choose which MO2 installation to import to. For this demo, I'll use my old VR Minimalistic Overhaul Wabbajack folder.
For Profile, you can select "All" to sort your imported mods into all of the profiles in this MO2 installation, or pick a specific profile. Note that if you just pick one profile, MO2 will still see the new mod folders when it starts up and will place them at the end of the mod list (I think in alphabetical order).
You have the same options to skip over disabled mods and separators, in case you changed your mind after exporting. There's also an option to add [NoDelete] to the mod names, which can be useful if you're importing into a Wabbajack installation.
The Import Mode controls how the mods will be added:
End: Mods (and plugins) will be added to the end of the mod and plugin lists (but preserving their relative order from the exported list).
Spliced: Mods will be inserted into the list after the nearest preceding mod. For each imported mod, MO2 splicer will look in the exported MO2's mod & plugin list to see which mod/plugin came before it. If it finds the same one in the importing MO2 installation's mod list, it'll stick the imported mod right after it. If it doesn't find it, it looks to see which mod was two positions above, and tries to match that one. If it never finds a matching mod, it gives up and sticks it at the end before continuing on.
3) Click "Select Import Source Folder" and choose the folder to which you exported the mods in the previous section. For me, it's the 2024 09 02 (00 37) Great Cities folder.
By default, all of the exported mods will be selected. As before, you can click on specific mods to only import those. Once satisfied, click "Import {x} Selected Mods". In the popup that appears, click "Calculate Space" to make sure there's enough room on the drive to perform the import. Then click "Import". Wait for the copy operations to complete and the "Import completed successfully" message to appear.
If you close the program, a Log.txt file will appear in the program directory and tell you exactly what the program did:
If we then launch MO2, we see the new mods being placed:
Undoing an import
1) Close MO2 (or remember to refresh after this).
2) In the navigation panel, click on "Undo". Then, select the timestamp of the import operation that you wish to undo.
3) Click the Undo button at the bottom and wait for the success message to appear.
4) Open MO2 and make sure the mods have been removed.
5) Click the red X button next to the time stamp to remove the (now unneeded) import log, and click Yes to acknowledge the message.
That's all there is to it.
FAQ
Q) Where should I ask questions? Do you have a Discord?
A) I don't have a Discord. Since this utility is unrelated to Mutagen, please don't ask about it in the Mutagen Discord (assuming you know me from my Synthesis patchers). Please leave a comment or bug report here.
Q) Where is the source code?
A) Here.
Q) Can you make this work with Vortex?
A) I barely have time to make mods for myself anymore, and I don't use Vortex. Permissions on this code are very loose; feel free to take my code and push a PR or make a Vortex version yourself.
Q) Do you take donations?
A) Nope. If you were thinking of throwing a donation my way, please consider sending it instead to help with medical and supply needs in Ukraine at a charity such as United24.