This tool makes it easy to generate SPID files to be used with Hairstyle Distribution Framework. Just select NPCs, assign hairstyles to them, and download the SPID distribution file. As long as you have Hairstyle Distribution Framework, SPID, and the right wigs installed, you'll see the new hairstyles on NPCs once the SPID file's in your Skyrim Data folder. Once you've selected hairstyles, you'll see a hyperlinked list of the required wigs at the top of the page, just above the Instructions button. This list updates dynamically based on the hairstyles selected.
1 · Add NPCs
Each row contains one NPC. You can add rows with the Add row button at the bottom of the list (set the ×N box to add several at once). In an empty row, you can:
- Search Skyrim's vanilla and DLC NPCs by name or EditorID. Click the box to browse the whole list alphabetically, or type to narrow it down.
- + Add a new NPC (pinned to the bottom of the search results) for one not in the list: enter its EditorID, name, race, and gender. Races are grouped the same way they are in the framework; if an NPC uses a race that isn't listed, pick the closest race type under Modded Races.
- Import CSV (top left) to add many at once. Columns: EditorID, FormID, Name, Race, Gender, Hairstyle. EditorID is the only required one, and the order doesn't matter. Race should be the race's EditorID (for example NordRace), and Hairstyle is the NPC's existing vanilla hair. FormID isn't needed to build the file, but it's handy for testing with player.placeatme. Known EditorIDs pull in bundled data automatically; the rest come in as custom. These CSV files can be generated with the xEdit script found on Hairstyle Distribution Framework's Nexus mod page.
2 · Assign a hairstyle
Every row starts with the NPC's vanilla hairstyle if one is available, and you can use the dropdown to change it. The list is filtered to styles valid for that NPC's race and gender; click the dropdown and start typing to filter it by name. The preview image on the right shows what the hairstyle looks like on the NPC's race type (Human/Elf/Orc/Khajiit/Argonian) and gender. If a modded NPC doesn't have a recognized race, you'll see the human version of the preview. You can resize previews with the Preview size menu at the top.
To choose from pictures instead, open a row's hairstyle dropdown and click Browse with pictures at the bottom. It opens on that NPC's own race and gender with their current hairstyle highlighted, so you can compare what's nearby; click one and confirm to assign it.
The Hairstyle Browser button at the top opens the same library on its own, for when you just want to look through what's available. It can be filtered by race type and gender, and the Open in new tab button inside gives you a full-page version to keep on a second monitor. Image size is shared between the two.
If you know you won't use certain wig mods, open Hairstyle Filters and uncheck them. Those hairstyles disappear from the dropdowns and the browser. If a hairstyle you've already assigned belongs to a mod you hide, that row turns red so you can pick something else.
3 · Warnings and special cases
- Red means the row needs your attention. A row with no hairstyle selected won't be distributed at all, and a row whose hairstyle belongs to a hidden mod should be changed.
- Yellow is a caution, not a problem : the row still distributes. Child NPCs need a compatible child mod (RS Children, The Kids Are Alright, or Skychild), and COTR and UBE NPCs get the human version of each hairstyle, so both are worth testing in-game before you publish.
- Hairstyles that can't work as wigs are written into the output commented out, so they never break your file.
- If a CSV race isn't recognized, the row opens all hairstyles and shows a small selector so you can set the race yourself.
- Need a wig this tool doesn't know about? Click the faint override link under any hairstyle dropdown and enter your own wig spell's EditorID. Useful if you've patched a custom wig for a sculpted head. The override replaces whatever hairstyle is selected.
4 · Saving your work
- Give your project a name at the top of the page first : it's used to name both your save file and your _DISTR.ini, which keeps your file from clashing with other authors'.
- Save project (Ctrl+S) downloads a .json file you own. Load project is Ctrl+O and New project is Alt+N. Once a project has been saved somewhere, Save as… (Ctrl+Shift+S) writes a copy elsewhere and keeps working from that copy. You can upload that file again later with the Load project button to pick up where you left off. This file is your real backup.
- The tool also auto-saves in this browser after every change, so you won't lose work if you accidentally close the tab. The auto-save lives in browser storage and can be wiped by clearing browsing data, so download a save file for anything you want to keep.
- New project clears everything and starts fresh.
5 · Get the output
Click the SPID distribution file drawer at the bottom of the page to open it. Download the _DISTR.ini file, or copy the text.
SPID reads every file ending in _DISTR.ini that sits directly in your Data folder. It does not look inside subfolders, so the file has to be at the top level: in Mod Organizer or Vortex that means the root of the mod folder, and if you publish it, the root of your zip. Once it's in place, those NPCs will have their new hairstyles next time you launch Skyrim.