Command‐line arguments - ousnius/BodySlide-and-Outfit-Studio GitHub Wiki

BodySlide Command-Line Arguments

Synopsis

BodySlide [--groupbuild <groups>] [--build <outfits>] [--filter <filter>] [--regexfilter]
          [--targetdir <path>] [--preset <name|file>] [--trimorphs] [--preview <files>]

Options

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.

Usage Examples

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"

Preset Selection

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.

Preview Mode

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).

Build Selection

--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.

Notes

  • The --groupbuild option triggers a batch build of all outfits belonging to the specified groups and closes the application when finished.
  • The --preview option is mutually exclusive with normal operation; the main BodySlide window is not shown.
  • The --targetdir option is only meaningful when used with --groupbuild, --build or --filter.
  • The --regexfilter switch only affects --filter. It's independent of the "Regular Expression" setting saved from the GUI.
  • Without --groupbuild, --preset selects 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, --preset is applied to the previewed slider sets. It's ignored for plain .nif files, 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.

Outfit Studio Command-Line Arguments

Synopsis

OutfitStudio [--project <name>] [--single-instance <yes|no>] [--automation <script>] [<file> ...]

Options

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.

Usage Examples

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"

Notes

  • Positional file arguments are optional and support multiple files.
  • When --single-instance yes is used and an instance is already running, files are forwarded to it via IPC (DDE on Windows, TCP elsewhere).
  • The --project option specifies which project within the loaded files to select.
  • When --automation is 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.
⚠️ **GitHub.com Fallback** ⚠️