Nexus Mods collections as portable Mod Organizer 2 instances, without Vortex, in one
command or one guided GUI wizard - and optionally export the finished instance as a
.wabbajack modlist for others to install.
collections2mo2 (c2mo2) downloads a collection's manifest, downloads every mod
it references, replays the curator's recorded FOMOD choices, applies the curator's mod
order and rules, merges the collection's INI tweaks, and lays it all down as a
self-contained, portable MO2 instance - with the game copied into a Stock Game folder
so nothing a collection does can ever touch your real Steam install.
| Home | Collection |
|---|---|
![]() |
![]() |
| Progress | Manage |
|---|---|
![]() |
![]() |
- Fetch - download the collection's manifest (
collection.json) from Nexus Mods. - Download - fetch every mod archive the manifest references, MD5-verified, using your Nexus Premium key.
- Inspect - open each archive to find FOMOD installers and work out its layout.
- Install - build every mod's folder: replay the curator's recorded FOMOD answers, apply exact file lists for "replicate"-mode mods, and route game-root files (SKSE, DLL shims, engine patches) through Root Builder.
- Profile - order mods by phase and the curator's rules, write
modlist.txt/plugins.txt/loadorder.txt, and merge in the collection's INI tweaks plus your resolution/vsync/window choice. - Build - lay down a portable Mod Organizer 2 + Root Builder, copy the game into
Stock Game, and point MO2 at the copy.
From there you can install optional tools (xEdit, LOOT, DynDOLOD, ...), layer more
collections on top, update a layer to a newer revision, or export the finished
instance to a .wabbajack modlist.
Every stage is resumable. A stage is skipped when its output is already on disk and
consistent with the stage before it, and the download stage checks each archive against
the manifest's MD5 rather than trusting the file name. So if a run stops part way (a
dropped connection, a stage that failed, closing the app) just run the same create again
on the same folder: in the GUI pick the same instance folder, on the CLI repeat the
command. A 60 GB collection that got as far as inspecting picks up at inspect without
downloading a single archive again. --reuse-downloads <folder> seeds a new instance from
another instance's download store the same way, by hardlinking the archives that match.
- Windows 10 or 11.
- A Nexus Mods account with a personal API key (Account Settings -> API Access). Nexus Premium is required for automatic downloads - the API only issues direct download links to Premium accounts. A free account can still fetch a collection's manifest and browse it.
- A Steam copy of the game the collection targets. Tested end-to-end on Skyrim Special Edition; other Bethesda games (Skyrim, SkyrimVR, Fallout 4, Fallout New Vegas, Fallout 3, Oblivion) are mapped but not verified.
- Free disk space: roughly the collection's download size, plus the same again for
the extracted mods, plus about 20 GB for the
Stock Gamecopy. - Wabbajack only if you want to export a
.wabbajackc2mo2 wabbajackwill downloadwabbajack-cliitself if it isn't already installed.
- A short install path (e.g.
D:\GTS, notC:\Users\...\Documents\My Modding Projects\...) - and not under Program Files, Documents, Desktop, OneDrive or a Steam library. The wizard andcreatewarn about all of these.
The packaged .exe on the releases page is not code-signed yet, so Windows SmartScreen
shows "Windows protected your PC" on first launch (More info -> Run anyway), and Windows
Defender has flagged some builds as a virus. That is a false positive; see
Windows says the download is a virus
for why, how to verify the file, and how to run from source instead.
uv sync
uv run c2mo2-gui
The wizard: paste your Nexus API key (stored in Windows Credential Manager, never
sent anywhere but Nexus) -> paste a collection URL -> pick an install folder and your
game folder (Steam installs are auto-detected) -> pick optional tools -> pick display
settings -> review -> Start. The Manage tab (from the home screen) reopens an
instance you already built: add or remove a collection layer, update a layer, install
more tools, or export to Wabbajack. Removing the base collection is CLI-only
(c2mo2 remove <slug> --force); the Manage tab offers "Remove instance...", which
deletes the whole instance folder, instead.
uv sync
cp .env.example .env # paste your personal Nexus API key into .env
# Build a complete instance in one step
uv run c2mo2 create https://www.nexusmods.com/games/skyrimspecialedition/collections/h2uqa3 \
--out "D:/h2uqa3" --game-path "D:/SteamLibrary/steamapps/common/Skyrim Special Edition" \
--stock-game
# Install optional modding tools
uv run c2mo2 tools install xedit bethini-pie loot --mo2-dir "D:/h2uqa3"
# Layer an add-on collection on top
uv run c2mo2 add https://www.nexusmods.com/games/skyrimspecialedition/collections/xk05aw \
--instance "D:/h2uqa3"
# Move a layer to its latest published revision (only the delta is re-downloaded)
uv run c2mo2 update --instance "D:/h2uqa3" --yes
# Export to a .wabbajack modlist
uv run c2mo2 wabbajack --instance "D:/h2uqa3"
See docs/cli.md for every subcommand and option.
Built and confirmed working end to end on:
- SKSE and Behaviours Essentials (292 mods) - builds, opens clean in MO2 2.5.2, every plugin in the curator's load order present.
- Gate to Sovngarde V117 (1,966 mods, 58.6 GB) - builds, opens clean in MO2 2.5.2,
launches through SKSE, every plugin in the curator's load order is present, and the
exported
.wabbajack(809 KB) installs cleanly with Wabbajack 4.2.2.1.
- Converting a collection for your own use is fine.
- Publishing a compiled
.wabbajackof someone else's collection requires that curator's permission. Community conversions of Gate to Sovngarde, for example, obtained it first - do the same. c2mo2identifies itself to Nexus Mods with its own User-Agent, honours Nexus's rate limits, and only ever downloads with your own Premium key - it does not proxy, cache, or redistribute anyone's files.- Whatever you build is yours to use. The collection's content - the mods themselves - still belongs to their authors and to the curator who assembled the list; this tool just automates the install.
Full answers in docs/faq.md. Short version:
- My resolution/vsync setting was ignored. Some collections ship SSE Display
Tweaks, which overrides
SkyrimPrefs.inientirely. Set it in the wizard, orc2mo2 profile-instance --resolution WxH. - MO2 shows
SkyrimRuntimeSwapper.exewhen I launch SKSE. By design on collections that need a specific game version - it downgrades at launch and reverts on exit. - Which Skyrim version does it need? Whatever the collection was built against. It never changes your game: with Stock Game it works on a copy, so you can downgrade or patch that copy freely, and Steam's install stays untouched. The wizard and
createwarn when your game's version differs from the collection's. - First MO2 start takes a minute or more. It's indexing a couple thousand mods. Normal.
- The game says DynDOLOD's scripts are the wrong version. The collection ships its own
DynDOLOD Resources/DLL NG and an older c2mo2 installed newer copies above them. Install
the DynDOLOD tool again and it removes its copies (see
docs/faq.md). - xEdit/DynDOLOD only see vanilla plugins. Run
c2mo2 tools refreshon instances built before this was fixed. - "Path too long" errors. Install to a short path.
- "A required patch is missing" from the Runtime Swapper. Your
Stock Gamecopy isn't the exact game version the collection expects. - I'm not Premium - now what? Automatic downloads won't work yet; manual-download support isn't implemented.
- Can I add my own mods? Yes - they keep their position across
update/add/remove. - A FOMOD mod took the installer's defaults. "Fresh install" mods (no recorded choices) do that by design, and it's called out in the run's log.
- Where's my API key stored? Windows Credential Manager for the GUI,
.envfor the CLI. Never printed, never committed.
- Windows only.
- Nexus Premium required for automatic downloads; manual-download mode isn't implemented.
- Vortex "replicate"-mode
patches(binary diffs against an existing file) aren't implemented - collections that use them will warn, not fail. - Verified end to end on Skyrim Special Edition only. Other Bethesda games are mapped in the code but untested.
- No signed release binary yet - run from source with
uv.
GPL-3.0-or-later. Not affiliated with Nexus Mods, Mod Organizer 2,
Wabbajack, or any collection curator. Third-party software this project bundles or
downloads at run time is listed in NOTICES.md.
- Mod Organizer 2 and Root Builder by Kezyma
- Wabbajack
- 7-Zip
- The xEdit team
- DynDOLOD by sheson
- The Nexus Mods collections and modding community
- Inspired by Furglitch's MO2 nxm-collection-dl plugin, the starting point for this project's investigation into converting collections outside Vortex
For development docs (architecture, tests, linting, the work/ layout), see
docs/development.md and docs/architecture.md.
See CONTRIBUTING.md for how to get set up and submit a change, and
CHANGELOG.md for what's new in each release.



