Boutique helps you create and manage outfit distribution files for SPID and SkyPatcher, browse NPCs and their outfit assignments, create custom outfit records, and sync armor stats between mods.
- Browse Distribution Files: Scan and view all SPID (
*_DISTR.ini) and SkyPatcher distribution files in your Data folder - Preview Distributions: See which outfits are being distributed and preview them in 3D
- Create Distribution Entries: Build new distribution rules with an intuitive UI
- Conflict Detection: Automatically detects when your distributions conflict with existing files and suggests Z-prefixed filenames for proper load order priority
- Dual Format Support: Generate both SPID and SkyPatcher syntax from the same filters
- View All NPCs: Browse every NPC in your load order with their current outfit assignments
- See Distribution Sources: For each NPC, see which distribution files are affecting their outfit
- Conflict Highlighting: Easily spot NPCs with multiple conflicting outfit distributions
- Advanced Filtering: Filter NPCs by gender, unique status, faction, race, keyword, and more
- Copy Filters: Build a filter in the NPC browser and copy it directly to your distribution entries
- Live Syntax Preview: See the generated SPID and SkyPatcher syntax as you adjust filters
- Browse All Outfits: View every outfit record (OTFT) in your load order
- NPC Assignments: Select an outfit to see which NPCs have it assigned (via ESP or distribution)
- Hide Vanilla: Filter out base game outfits to focus on modded content
- 3D Preview: Preview any outfit's armor pieces in a 3D viewer
- Create OTFT Records: Build new outfit records by selecting armor pieces from any plugin
- Drag & Drop: Drag armors between plugins and outfit drafts
- Slot Conflict Detection: Prevents adding armor pieces with conflicting body slots
- Edit Existing Outfits: Load and modify outfits from your output plugin
- 3D Preview: Preview outfit drafts before saving
- Sync Armor Stats: Copy stats, keywords, enchantments, and tempering recipes from one armor to another
- Glam Mode: Zero out armor rating for purely cosmetic armors
- Batch Processing: Map multiple armors at once for efficient patching
- Windows 10/11
- .NET 8.0 Desktop Runtime (download the "Desktop Runtime" for Windows x64)
- Skyrim Special Edition
- For distribution features: SPID or SkyPatcher installed
- Download the latest release from the Releases page
- Extract to a folder of your choice
- Run
Boutique.exe
- Initialize: Set your Skyrim Data path in Settings and click Initialize
- Go to Distribution tab: Select the "Create" sub-tab
- Add Entry: Click "Add Entry" to create a new distribution rule
- Select Outfit: Choose the outfit you want to distribute from the dropdown
- Add Filters: Use the NPCs, Factions, Keywords, or Races tabs to add targeting filters
- Save: Choose a filename and click "Save File"
- Go to Distribution > NPCs tab
- Use the filter dropdowns (Gender, Unique, Faction, Race, Keyword) to narrow down NPCs
- The filtered list shows exactly which NPCs will be affected
- Click Copy Filter to save your current filter criteria
- Switch to the Create tab and click Paste Filter to apply it to an entry
- Go to the Outfit Creator tab
- Select a source plugin containing the armors you want
- Select armor pieces from the list (multi-select supported)
- Click Create Outfit and enter a name
- Optionally add more pieces by dragging from the armor list
- Click Save Outfits to write the OTFT records to your output plugin
- Go to the Armor Patch tab
- Select your cosmetic armor mod as the Source Plugin
- Select the mod with desired stats as the Target Plugin (e.g., Requiem.esp)
- Map source armors to target armors using "Map Selection"
- Click Create Patch to generate the patch ESP
- Install .NET 8.0 SDK
- Clone this repository
- Open terminal in the project folder
- Run:
dotnet build - Run:
dotnet run
Or open Boutique.csproj in Visual Studio 2022 / Rider and build.
Run the PowerShell script to produce a ready-to-ship single-file EXE:
pwsh scripts/publish-win.ps1This creates a framework-dependent build (~80MB) that requires .NET 8 Desktop Runtime.
Add -SelfContained for a larger (~220MB) standalone build that bundles the .NET runtime:
pwsh scripts/publish-win.ps1 -SelfContainedOutputs land in artifacts/publish/<runtime>/.
SPID uses *_DISTR.ini files in your Data folder. Example syntax:
Outfit = MyCustomOutfit|ActorTypeNPC|BanditFaction|NONE|F|NONE|100This distributes MyCustomOutfit to female NPCs with the ActorTypeNPC keyword who are in BanditFaction.
SkyPatcher uses INI files typically in Data/skse/plugins/SkyPatcher/. Example syntax:
filterByFactions=Skyrim.esm|0001BCC0:filterByGender=female:outfitDefault=MyMod.esp|FE000D65Boutique can generate both formats from the same filter configuration.
This project uses the following libraries:
- Mutagen - GPL3 License
- ReactiveUI - MIT License
- Autofac - MIT License
- NiflySharp - For NIF mesh reading
- HelixToolkit - MIT License (3D rendering)
- Mutagen by Noggog and contributors
- SPID by powerofthree
- SkyPatcher by SkyPatcher team
- Skyrim modding community
This tool creates and modifies Skyrim plugin and INI files. Always backup your Data folder before using. The author is not responsible for any issues that may arise from using this tool.