Addition to OBody NG for Automated Preset Distribution in the Json for Skyrim Special Edition
A lightweight SKSE DLL that processes simple rules written in INI, similar to SPID but called PDA, to automatically manage the OBody_presetDistributionConfig.json file without direct intervention, avoiding human errors and reading time.
It allows applying predefined presets for NPCs, races, factions, and complete plugins. If you decide to apply a different preset in-game using the 'O' menu, this will take precedence over the INI modification, so there are no configuration issues. ๐
Automatically searches for files with pattern OBodyNG_PDA_*.ini
in the data directory
Processes rules in a SPID-like format: Key = Element|PresetA,PresetB,...|Mode
Applies different modes: x
, 1
, 0
, -
, x-
, *
, x*
Applies presets to female NPCs of a specific element
Applies presets to all female NPCs of a race
Applies presets to female NPCs of a faction
Always checks and applies the preset, you can use x or leave the mode space empty
Applies preset once, then deactivates, updates INI to |0
Skips rule, makes no changes
Clean specific preset once, updates INI to |0
Clean preset in every execution
Clean complete element entry, updates INI to |0
Clean element in every execution
Any unconsidered element is converted to 0
Important note: The mode that is in green (X or leaving space empty) is the one that will be used by default and is the one that fulfills the function of distributing the preset.
The modes that are in red color are for advanced use and can generate actions such as cleaning presets that you no longer want to use, or applying presets in the JSON only once. I created them for testing or for you to find a use for them, but they are not very used. I recommend just going for the X or the empty space, that's enough.
Rule generator in a simple way. It only requires knowing the name of what you are going to apply the preset to (whether NPC, faction, plugin, or race) and knowing whether it will apply one or more presets to this element. it will be chosen randomly from the ones you write, limiting the variability between the presets you specify.
If you don't know how to get the IDs or factions, you can use the codes I left on Nexus. They are used in SSEdit and generate a complete list with a lot of information about each NPC. With those, you can do whatever you like, such as SPIDs or these PDAs.
Applies presets based on the specific NPC FormID (e.g.: xx0001). Not recommended much as IDs usually change with updates.
Applies presets by NPC EditorID (e.g.: Serana, Lydia, Aela). The one I use the most, as it's difficult for an EditorID to change.
Applies presets to NPCs of a specific faction by gender. Useful when an NPC joins a faction, the body changes accordingly.
Applies presets to NPCs from a specific element (.esp) by gender. Recommended for giving presets to an entire mod and its NPCs from the plugin.
Applies presets to NPCs of a specific race by gender. I use it a lot, it's easy to adjust for all of Skyrim.
Required for the plugin to function
The base mod to be configured
Library required for modern SKSE plugins
Get the latest version of the SKSE OBody NG PDA plugin from Nexus
Install in your mod list, whether Nexus or Vortex
If it's ready, you can create your INI files or install mods that require PDA as a requirement
The structure is simple: you only need to place files with the OBodyNG_PDA_*.ini pattern in a zip or rar and publish it as a mod, then install it in your mod list. The plugin will detect them automatically and distribute the preset rules without additional configuration.
Creation of INI files with distribution rules
The SKSE plugin reads and processes the rules automatically
Safe modification of the OBody JSON file
The presets are applied in the game automatically
The system reads INI files with distribution rules, processes them through the SKSE plugin, updates the OBody JSON files safely, and applies the changes preserving the integrity of existing data.
UTF-8 with ANSI fallbacks for international characters
An automatic backup of the JSON is performed before any modification, can be configured from an ini
Preserves existing data and order during updates
Detailed logs for debugging and monitoring
Supports SE, AE, GOG and VR editions
Maintains JSON structure and element order
Complete automatic backup before any modification:
Backup = 1
to Backup = 0
after backupMultiple layers of validation to prevent errors:
Full support for international characters:
Optimization and security in resource handling:
Special thanks to our dedicated beta testers who helped make this project possible:
Beta review, observation of future applications
Beta review
JSON analysis and observation of corrections in ini parameters
Testing Unicode support, multiple betas reviewed
Mod betatester in complex mod list
Beta tester
Advisor on templates and free web addons
Fundamental framework for developing modern SKSE plugins
For the continuous development and support of the Skyrim Script Extender
For creating the base that makes this functionality possible
For the constant feedback and ideas for improvements
This is the progress of several projects I'm working on this year. I'll be uploading them as they are concluded, thanks to everyone who supports me with comments,
thanks for being so patient ๐ฟ
This project is open source MIT and available to the community. Contributions, bug reports, and suggestions are always welcome. Together we can make Skyrim a more welcoming and comfortable place.