Command‐line arguments - ousnius/BodySlide-and-Outfit-Studio GitHub Wiki
BodySlide [--groupbuild <groups>] [--build <outfits>] [--filter <filter>] [--regexfilter]
[--targetdir <path>] [--preset <name|file>] [--trimorphs] [--preview <files>]
| Short | Long | Type | Description |
|---|---|---|---|
-gbuild |
--groupbuild |
string |
Comma-separated list of group names to build on launch. When specified, BodySlide performs a batch build and exits. |
-b |
--build |
string |
Outfit(s) to build on launch, given by name. A single name, or several separated by ,, ; or ` |
-f |
--filter |
string |
Builds every outfit matching the filter, exactly like typing it into the outfit filter box. Case-insensitive substring by default. |
-regex |
--regexfilter |
switch | Treats the value of --filter as a case-insensitive regular expression, like enabling "Regular Expression" in the outfit filter box's context menu. |
-t |
--targetdir |
string |
Output directory for the build. Defaults to the configured game data path. A path separator is appended automatically if missing. |
-p |
--preset |
string |
Preset to select on launch, to use for the build when combined with --groupbuild, --build or --filter, or to apply in preview mode when combined with --preview. Either a preset name or the path to a preset XML file, optionally followed by ? and the name of one of its presets. See Preset Selection for details. Defaults to the last used preset. |
-tri |
--trimorphs |
switch | Enables tri morph output for the build. |
-preview |
--preview |
string |
Comma-, semicolon-, or pipe-separated list of file paths (.nif or .osp) to open in preview mode. When specified, BodySlide opens a preview window directly without showing the main frame. See Preview Mode for details. |
Build a single group with the default preset:
BodySlide --groupbuild "MyGroup"
Build multiple groups to a custom directory with tri morphs:
BodySlide --groupbuild "CBBE,CBBE Vanilla Outfits" --targetdir "C:\Output" --preset "CBBE Curvy" --trimorphs
Build a single outfit:
BodySlide --build "CBBE Body"
Build a list of outfits without a group file:
BodySlide --build "CBBE Body;CBBE Hands;CBBE Feet"
Build every outfit whose name contains a phrase:
BodySlide --filter "Vtaw Wardrobe 5 - Dress"
Build every outfit matching a regular expression:
BodySlide --filter "^Vtaw Wardrobe 5 - (DoS Boots|High Heels) \(CBBE SE\)$" --regexfilter
Build the outfits of a group whose names match a filter:
BodySlide --groupbuild "CBBE Vanilla Outfits" --filter "Dawnguard - Hoods"
Launch with a specific preset selected:
BodySlide --preset "CBBE Curvy"
Launch with a preset from a specific preset file:
BodySlide --preset "C:\MyPresets\MyBody.xml"
Launch with a named preset from a specific preset file:
BodySlide --preset "C:\MyPresets\MyBodies.xml?My Curvy Body"
Preview a slider set with a preset applied:
BodySlide --preview "project.osp?MySet" --preset "C:\MyPresets\MyBodies.xml?My Curvy Body"
Preview NIF files:
BodySlide --preview "mesh1.nif,mesh2.nif"
Preview all slider sets from an OSP project file:
BodySlide --preview "project.osp"
Preview specific slider sets from an OSP file:
BodySlide --preview "project.osp?SetName1?SetName2"
Mix OSP projects with extra NIF files:
BodySlide --preview "project.osp?MySet,extra.nif"
The --preset option takes either a preset name or the path to a preset XML file. A value ending in .xml (before an optional ?) is treated as a file path, anything else as a preset name.
As with --preview, the ? character separates the file path from a name inside that file:
| Syntax | Behavior |
|---|---|
--preset "My Preset" |
Selects the installed preset with that name. |
--preset "file.xml" |
Loads the preset file and uses the first preset it contains. |
--preset "file.xml?My Preset" |
Loads the preset file and uses the named preset from it. |
A preset file doesn't have to be located in the SliderPresets folder. Its presets are loaded in addition to the installed ones and take precedence over installed presets of the same name.
The --preview option supports both .nif and .osp (BodySlide project) files. File behavior depends on the extension and whether explicit slider-set names are provided.
The outer file list is split on commas, semicolons, or pipes. Inside a single .osp entry, ? separates the project path from one or more explicit slider-set names.
NIF files
Plain .nif paths are loaded directly into the preview window as meshes.
OSP files
.osp files are BodySlide project files that contain one or more slider sets. The ? character is used as a separator to specify which slider sets to load from an .osp file:
path/to/file.osp?SetNameA?SetNameB
| Syntax | Behavior |
|---|---|
file.osp |
All slider sets in the file are discovered and presented in a dropdown for selection. |
file.osp?Set1 |
Only the named slider set is loaded. |
file.osp?Set1?Set2 |
Multiple named sets are loaded together (multi-project mode). |
--groupbuild, --build and --filter all select outfits for the same batch build. Any of them
triggers the build and closes the application when it's finished.
--groupbuild and --filter narrow the outfit list down together, the same way the group filter
and the outfit filter box do in the GUI: with both given, only outfits that belong to one of the
groups and match the filter are built. Without --groupbuild, the filter is applied to all
installed outfits.
--build is an explicit list that's added on top of whatever the groups and the filter selected,
so an outfit can be built without matching the filter. Outfits selected more than once are only
built once, and the build order always follows the order the slider sets were loaded in.
As in a GUI batch build, outfits that write to the same output file are resolved through the saved
BuildSelection.xml, so losing choices are skipped. Outfit names that don't exist, filters that
match nothing, and invalid regular expressions are written to the log and listed in the failure
dialog at the end; the remaining outfits are still built.
- The
--groupbuildoption triggers a batch build of all outfits belonging to the specified groups and closes the application when finished. - The
--previewoption is mutually exclusive with normal operation; the main BodySlide window is not shown. - The
--targetdiroption is only meaningful when used with--groupbuild,--buildor--filter. - The
--regexfilterswitch only affects--filter. It's independent of the "Regular Expression" setting saved from the GUI. - Without
--groupbuild,--presetselects the preset in the main window and applies it to the sliders and the preview. It only replaces the last used preset for that launch; if the preset isn't available for the currently selected outfit/body, the last used preset is kept and a warning is written to the log. - Combined with
--preview,--presetis applied to the previewed slider sets. It's ignored for plain.niffiles, which have no sliders. If the preset isn't available for the loaded sets, the first preset of the list is used and a warning is written to the log.
OutfitStudio [--project <name>] [--single-instance <yes|no>] [--automation <script>] [<file> ...]
| Short | Long | Type | Description |
|---|---|---|---|
-proj |
--project |
string |
Name of the project to load on launch. |
-single |
--single-instance |
string |
Force single-instance behavior. yes sends files to an already-running instance; no always opens a new instance. If omitted, the application uses its default/configured behavior. |
-a |
--automation |
string |
Run an automation script by name (without the .xml extension) in headless mode. |
| (positional) | string |
One or more file paths to open. Multiple files can be specified. When --automation is used, these become batch inputs for batch-mode scripts instead. |
Open files in a new instance:
OutfitStudio --single-instance no model.nif
Open a project by name:
OutfitStudio --project "MyProject"
Send files to an already-running instance:
OutfitStudio --single-instance yes mesh.nif
Open multiple files:
OutfitStudio file1.nif file2.nif file3.obj
Run automation script:
OutfitStudio --automation "ConvertFromBodyAtoB" file1.nif file2.nif
Run a folder-scan automation against a directory:
OutfitStudio --automation "ProcessFolder" "D:\Meshes"
- Positional file arguments are optional and support multiple files.
- When
--single-instance yesis used and an instance is already running, files are forwarded to it via IPC (DDE on Windows, TCP elsewhere). - The
--projectoption specifies which project within the loaded files to select. - When
--automationis used, positional arguments are treated as batch inputs: file paths or directories for Folder Scan, or slider set project names for Slider Sets. - Non-batch automation scripts ignore positional arguments.