Modular MO2 Dashboard

Thread
Modular MO2 Dashboard
Latest
Apr 10, 2026
Uploaded
Apr 10, 2026
Version
1.3.0
Total Files Size
201 MB
Unique DLs
11
Total DLs
11
Total Files
4

Modular MO2 Dashboard - App Setup Source

163 MB

Download Latest

Join the Discord Server


Overview


Startup Dashboard is an advanced configuration plugin for Mod Organizer 2 (MO2) that automates profile setup and mod toggling for large, modular Skyrim load orders such as Wunduniik. It provides a visual dashboard inside MO2 where players can choose gameplay options (resolution, DLSS, difficulty, ENB presets, UI style, and more) and the tool automatically enables or disables the correct mods and plugins in the background. Switch from ENB to Community Shaders, toggle DLSS Frame Generation, or change gamepad settings with a single click. No more manual reordering or enabling dozens of ESPs.


Main Features


  1. Modular Rule System — All configuration logic is stored in a single JSON file: StartupDashboard.rules.json
  2. Dynamic UI Generation — The dashboard automatically builds its interface based on the rules file.
  3. Automatic Mod Toggling — When the user changes an option, the script enables all mods in the enable list and disables all mods in the disable list.
  4. Safe Profile Management — Modifies only the current profile's plugins.txt and loadorder.txt.
  5. Preview Support — Each toggle option can include an image preview to show what the choice looks like.
  6. Lightweight and Reversible — All actions are atomic and reversible; no permanent edits to the mods themselves.
  7. Modular Option Visibility — You can control which options appear in the dashboard using "visible": true/false.


How It Works


When you launch MO2 with this plugin enabled, it will:

Load the JSON configuration (StartupDashboard.rules.json).

Generate the dashboard UI dynamically.

Display only the categories marked as "visible": true in the JSON.

Listen for user selections and apply changes to the modlist and load order.


Example workflow

You select "DLSS → On".

The plugin enables ENB Frame Generation and disables any conflicting mods listed under "disable".

It safely updates plugins.txt and loadorder.txt for your current profile.


For Creators: Editing and Expanding the Dashboard


You can easily expand the dashboard to fit your own modlist or custom setup.

1- Locate the Rules File

Open the following file in your MO2 installation:


\mods\Startup Dashboard\StartupDashboard.rules.json


2- Add or Edit Categories

Each main section in the JSON (e.g., "resolution", "difficulty", "enb_preset") defines a toggle category. Example:


"DLSS": {
"visible": true,
"Off": {
"enable": [],
"disable": ["(ENB) ENB Frame Generation"]
},
"On": {
"enable": ["(ENB) ENB Frame Generation"],
"disable": []
}
}


Setting "visible": false hides this category from the dashboard UI and prevents it from executing internally.


3- Define Enable / Disable Rules

Each choice (e.g., "On", "Off", "High", "Low") lists which mods are affected. "enable" activates mods, "disable" deactivates them. Example:


"resolution": {
"visible": true,
"1080p": { "enable": ["(OPT) High Textures"], "disable": ["(OPT) Low Textures"] },
"4K": { "enable": ["(OPT) 4K Textures"], "disable": ["(OPT) High Textures"] }
}


4- Optional: Add Previews

To show images next to each choice, add them to the "previews" section. Images are loaded from StartupDashboard\previews\.


"previews": {
"resolution": {
"1080p": "previews/reso_1080p.jpg",
"4K": "previews/reso_4k.jpg"
}
}


5- Optional: Plugin Insertion Rules

Define plugin insertion rules for ESPs and ESLs that must load before or after specific files. These ensure the load order stays consistent when enabling or disabling mods.


"plugin_rules": {
"default_insertion": "end",
"rules": [
{ "match": "CS Light.esp", "after": "Wunduniik Conflict Fixes.esp" },
{ "match_regex": ".*Virtual Keyboard.*\\.esp", "after_regex": "^SkyUI_?SE\\.esp$" }
]
}


Advanced example: Add your own category for toggling weather mods — it will automatically appear as a new dropdown in the dashboard.


"weather_system": {
"visible": true,
"Obsidian Weathers": {
"enable": ["Obsidian Weathers and Seasons"],
"disable": ["Cathedral Weathers", "NAT.ENB III"]
},
"Cathedral Weathers": {
"enable": ["Cathedral Weathers"],
"disable": ["Obsidian Weathers and Seasons", "NAT.ENB III"]
}
}


File Structure


StartupDashboard/ ├── __init__.py ├── StartupDashboard.py ← Main plugin script ├── StartupDashboard.rules.json ← Core configuration file ├── previews/ ← Optional image previews │ ├── enb_rudy.jpg │ ├── enb_cabbalax.jpg │ └── reso_4k.jpg ├──

presets/ ← Stores presets of preselected options │ └── preset.json └── logs/ ← Generated log for debugging └── StartupDashboard.log


Best Practices


Always backup your StartupDashboard.rules.json before modifying.

Keep all mods referenced in enable / disable lists installed in MO2.

Use "visible": false to hide experimental options without deleting them.

Validate your JSON with a linter before relaunching MO2.

Avoid circular toggles (e.g., two categories that enable / disable each other).


Credits


Developed by Alaxouche.

Thanks to the Wunduniik community for their feedback.

Thanks to MaskedRPGFan for all his help fixing code, fulfilling requests and especially for Profile Assistant.

Thanks to Gaetan alias WhereDeadAngelsLie for his help with troubleshooting.


If you'd like to support development:


☕ Ko-fi ❤ Patreon

Comments (0)

Log in to post a comment.

This thread is open for discussion.

Be the first to leave a community review!

More from AlaxoucheModding

Popular The Elder Scrolls V: Skyrim Special Edition Mods