Overview
The config drafter is a new module in SynthEBD 1.0.1.3 which can draft a config file from a texture mod. The key word is "draft". The drafter is designed to do all of the tedious work of finding textures and creating subgroups for them, which accounts for about 75-90% of the time spent making config files. This still leaves you with the more human-dependent tasks such as looking at textures and deciding which rules should apply to them and (optionally) pairing them with particular body shapes. Additionally, while I spent a week or so tuning the drafter, it's a relatively simple algorithm and not a large language model AI, so you'll need to skim over the config file that it drafts and make sure it didn't make any mistakes.
Note that this example assumes that you have your Mod Manager Integration set up in SynthEBD's mod manager settings. You can draft a config without having the integration set up and a few things will be a bit different - on the small chance you're not using a mod manager, feel free to post a message if you need assistance navigating.
Getting Started
For this tutorial I will be drafting a config file for the 4K CBBE version of Bits and Pieces Female Skin 2.0. To start, I will go to the mod page and choose the files I need. In this case, these are:
- BnP female skin 4k (CBBE Player and Replacer)
- BnP No frostnip leg fix (CBBE only)
- BnP Sk fix
- Extra matte CBBE
- Extra Options 4k CBBE
Once downloaded, I will create a new config file in SynthEBD and launch then launch the Config Drafter:

Extracting Archives
In the Config Drafter window that pops up, I will add the "Destination Mod Name", which is how this mod will appear in your mod manager's mod list after installation. If you already have the textures installed (the SynthEBD way with a prefix; not through your mod manager), you can skip ahead to the next section. I will then chose a Prefix for this config file, which should be a short text corresponding to the name of the mod. In this case I will choose "BnP4K_C". If you fill in the prefix for the first archive and then click "Add Another Archive", it'll get copied into the next archive. In most cases, the archives can all use the same prefix. The exception is if multiple archives contain a file with the exact same name and path. Don't worry, SynthEBD will check for you and notify you if you need to change a prefix.
I will then "Select" the five archives downloaded from the BnP Nexus Page. I will also change the prefix on the "fix" files so that I can more easily find them in the config file. Then I will click the green "Extract Archives" button:

You will see 7zip pop up and extract the selected archives - give it a bit of time to do its thing. If one of the 7zip windows gets stuck open but says "Everything is Ok", feel free to close it. You'll know extraction has finished when the green "Extract Archives" button gets replaced by a blue "Draft Config" button, indicating that you're in the File Selection stage.

File Selection
Once archive extraction is complete, you'll be able to draft the config. If you just finished the previous section, the folder to which you just extracted the textures will be pre-selected. If there are texture files that SynthEBD does not recognize, you will be notified and prompted to select which (if any) you want to keep. In this case, most of the textures are tint masks which cannot be distributed by SynthEBD because they're baked into FaceGen, but there's also a "femaleheaddetail_vamp" file. Head Detail textures are complexions, and I'm assuming vamp is vampire, so I will select that one to keep and ignore the rest:

You can also Check for Duplicate Textures. This is an optional step that will look through the extracted files and see if any of them are identical. Mod authors sometimes package the same texture multiple times in the archive, presumably to make the FOMOD installer setup a bit easier. Removing duplicate files has pros and cons.
Pros: The config will be simpler, and might use less video RAM in-game (I haven't benchmarked this, but I'm assuming the game isn't smart enough to tell that two different texture files have the same content).
Cons: If you auto-assign rules (covered in the next section), the the drafter might get confused and overly restrict some textures.
In my case, I will go ahead and click this button. This can take a minute or so for large and complex texture mods like this one. When it's finished, if it detects duplicate files it will present them to you:

For each file name, SynthEBD will list the duplicate files in the archive and ask you to choose which ones to remove (from the config file; the files themselves won't be deleted). Until you click the red "Remove Duplicate Textures" button, none of the textures will be removed. If you later decide that removing duplicate textures was a mistake, you can make a new config file, launch the drafter, and immediately change it to Load textures from: Directories (as in the screenshot above) and select the same directory, bypassing the first file extraction step.
Within each group, you should try to keep the one that has the simplest file path to minimize the probability of confusing the config drafter and having it assign incorrect distribution rules. The drafter will try to do this for you automatically, but you should go over its choices and make sure you agree with them before proceeding. Once you're happy with the choices, click the red button:

Drafting Options
The last step before creating the config file is to choose your preference for the three "Auto-Assign" checkboxes: Names, Rules, and Linkage.
- Names: Drafter will try to auto-name some of the subgroups it creates based on a variety of rules determined by the file names, folder names, and some simple relationships between them.
- Rules: Drafter will try to automatically apply some simple rules based on the file names and (if selected) the auto-generated subgroup names.
- Linkage: If multiple subgroups from different Top-Level subgroups have the same name, the Drafter will assume that they're related and will add them to each other's Required Subgroups list to co-distribute them.
Just like with the duplicate file removal, if you're unhappy with how the config drafter performs, you can re-import textures from the folder and select/deselect these options to try to improve the drafting process. The Linkage can be especially tricky for large and complex texture mods like BnP, so if you select it you should definitely go over the Required Subgroups lists and make sure you're not inadvertently excluding subgroups that should be grouped in (this usually comes out during the validation step).
Drafting
Now that you've made your choices, click the blue "Draft Config" button. The drafting itself should be very quick, and you'll see subgroups appear in the main SynthEBD window. In most cases you can close the Drafter immediately using the X button in the top right corner. If the drafter detects "femalebody_etc" textures it'll know they're for either 3BA or BHUNP and will ask you to select which one to make sure that the correct Record Templates are applied automatically. Select the correct one and then close out.

Manual Editing
Now that import is done, take a look over the Drafter's work and correct anything you see that immediately needs to be fixed. Here for instance, that unrecognized Vam detail texture was created in an "Unknown" subgroup, so I will click and drag it to the correct destination and set the appropriate rules.

You should also assign your config a Prefix at the top of the menu. The one you used for the main download when extracting would be a good choice.
Note that the border of the Source File shows up in red. Just like when installing a config file, you'll need to close SynthEBD, refresh your mod manager's mod list, and activate the newly generated mod in order for the textures to be recognized and pass validation. Once I do this, I can click the "Validate" button in the bottom left corner and see the "No errors found" popup.
Now I can test a few NPCs. To do so, I'll use the Distribution Simulator in the bottom right ("Simulate Distribution" button). Note that you'll need to deselect all other config files in the "Active Config Files" dropdown so that the simulator only tests the newly drafted config. For large newly-drafted config files, I recommend changing the Simulation Rounds from the default 100 to just 2 or 3 to avoid potentially bogging it down if it has trouble. I'll select Hulda as my NPC to test (of course, pick an NPC that you'd expect to get patched by your config), and click Simulate Primary Distribution:

After a few seconds pause, I can see that the patcher failed to distribute the file. Most texture mods are simple enough that the config drafter should be able to make viable configs automatically, but BnP has so many options that the Drafter got bogged down in the linkages, assigned a set of mutually-incompatible Required Subgroups. To verify this (not pictured here), I redrafted the config with "Auto-Assign Linkage" unchecked and that version of the config file could be distributed. Here is where I have to make a decision - I can either keep the version without linkages and go through the subgroups myself, using the Subgroup Linker to link any groups I find as I see them. Or I can go back to the original version and try to figure out what the mutally-incompatible required subgroups are. In this case, since I have experience looking at logs, I opted for the latter option. After clicking "Show Full Detail Report" and copying the log to Notepad++ for easier reading, I see that the "mainRBT" subgroups need to be unlinked because they're what's causing the patcher to stall out. I can do this quickly using the subgroup linker:

Now I can simulate distribution and see that Hulda gets the textures:

I can now run the patcher and see how it does:

As you can see, most NPCs are being patched, but I'm not quite finished yet (which is why this config file isn't being co-released with the 1.0.1.3 update). I need to figure out why Afflicted and Elder NPCs, as well as Astrid, are failing to be patched. The best way to do this is to select them in the Config Distribution Simulator and read their Detailed Logs, just as I did above for Hulda, to see what's wrong. That's beyond the scope of this article, but the problem is sure to be with another Required Subgroups linkage that's excluding them from the patching process. Additionally, I'll need to explore the subgroups that the Drafter created and set distribution rules appropriately (e.g. restricting muscular normal maps to NPCs that should be muscular). I'd also want to add allowed/disallowed body shape descriptors to these normal maps to make sure they get paired with appropriate Bodyslides. See the accompanying article on manually making config files for a bit more instruction on this process.
I'll also need to make that optional frostnip leg fix file replace the one in the original download (good thing I gave the archive a different Prefix so that it would be easy to find):


That's it for the tutorial! As you can see, there's still ~30-45 minutes of work to do, going through and applying whatever rules I want to whichever textures I want to create the best distribution experience. Then I'll need to figure out why those problem NPCs above are having trouble getting assignments, and do a bit of in-game testing to make sure everything looks ok (check for things like neck seams - not all textures in a texture mod are meant to go together, which is what the Required Subgroups are for, but sometimes it's not obvious from the Subgroup names that two textures will cause a seam). Finally, I'll need to make corresponding 2K and UNP versions (probably using search+replace in Notepad++) and package everything using the Config Packager (again, see the accompanying article).
Good luck, and feel free to ask questions in the posts here on on the Mutagen discord (as always, in the #spawn-support channel, please).
1 comment