Converting Animations
How to convert SLAL animation packs to SLSB format for SexLab P+.
Quick Start
To convert SLAL packs quickly:
- Set up your development environment (see Environment Setup)
- Place SLAL packs in
SLAL_Packs/folder with correct structure - Run
execute_convert_full.cmd - Collect converted outputs from
SLSB_Outputs/ - Package and distribute
Detailed Conversion Process
Prerequisites
Before starting, ensure you have:
- The SLSB.Convert.Dev.Essentials downloaded and extracted
- All FNIS tools installed (see Environment Setup)
- Latest jsons from
Automated.SLSB.Conversionsinupdated_slsb_jsons/ - SLAL animation packs to convert in
SLAL_Packs/folder
Step 1: Organize Your Packs
Place SLAL packs in the SLAL_Packs/ folder with the required structure:
SLAL_Packs/
├── BillyyCreatures/
│ └── SLAnims/
│ └── json/
│ ├── BillyyCreatures.json
│ └── [other animation files]
├── AnimationsByLeito/
│ └── SLAnims/
│ └── json/
│ └── AnimationsByLeito.json
└── [other packs]/
└── SLAnims/
└── json/
Important: Structure must be PackName/SLAnims/json/ or the converter won’t find the files.
Step 2: Run the Batch Converter
- Open File Explorer to your dev environment
- Double-click
execute_convert_full.cmd - The script runs automatically and processes all packs
Step 3: Collect Output Files
After conversion completes, your SLSB conversions will be generated in SLSB_Outputs/:
SLSB_Outputs/
└───conversions [yyyy.mm.dd_hh.mm.ss]
├───[Pack Name 1]
| ├───meshes
│ │ └───actors
│ │ └───[<actor>]
│ │ ├───animations
│ │ └───behaviors
│ └───SKSE
│ └───Sexlab
│ └───Registry
│ └───Source
└───[Pack Name 2]
├───meshes
│ └───actors
│ └───[<actor>]
│ ├───animations
│ └───behaviors
└───SKSE
└───Sexlab
└───Registry
└───Source
Step 4: Package for Users
Create a mod / zip archive containing the output directories meshes and SKSE (including thier content) for each converted pack/module and distribute/publish the same.
Users will install this on top of the original SLAL animation pack (which are needed for animation meshes/assets).
What Gets Converted
The converter automatically extracts:
- Animation names - Display name and unique event hkx identifiers
- Gender/race tags - Actor requirements (male, female, creature, etc.)
- Creature info - Race keys for creature animations
- Animation stages - Which .hkx files play and timing/impact sound
- Actor offsets - Offsets and rotations for each participant
- Scene parameters - Stage timers, stage sound, etc.
- Tags/categories - Aggressive, Loving, Foreplay, etc. See Tagging Reference for official tags.
- AnimObjects info - All AnimObjects are incorporated as-is for each animation event.
Manual Adjustments
After conversion, you may need to make manual adjustments to the slsb.json and re-compile the .slr files thrught the SLSB tool through Import Project option.
Common Adjustments
| Issue | Solution |
|---|---|
| Wrong animation tags | Edit JSON before recompiling. Use official tags for best compatibility. |
| Incorrect gender tags | Update actor definitions |
| Timing issues | Adjust stage timer values |
| Missing interaction types | Add appropriate tags |
| Position offsets wrong | Manually adjust offset arrays |
When to Adjust
Most conversions work automatically, but you may need to adjust for:
- Animations with non-standard gender combinations
- Creature animations with unusual race pairings
- Packs with missing metadata
- Legacy packs with incomplete definitions
Testing Adjustments
After editing JSON:
- Run the
SexLab Scene Builder.exe. - Import the edited JSON project file and export.
- Replace the generated
.slrfile with the one generated previously by converter. - Install the modified conversion; launch game and verify animations appear correctly.
- Test with MatchMaker.s
Testing Your Conversion
Pre-Test Verification
Before testing in-game, verify your conversion:
- Check output folder has the structure and content outlined in the section
Package Structurebelow. - Verify manifest shows no errors
- Ensure output files are not empty (check file size > 1KB)
In-Game Testing
- Install the original SLAL pack (for mesh files)
- Install your converted SLSB conversion distribution
- Launch game and load a save
- Open SexLab MCM → Registrations
- Check if your animations appear in the list
Testing with MatchMaker
Use the MatchMaker tool to test animations without manual setup:
- Open SexLab MCM
- Go to MatchMaker
- Select your animation pack
- Choose actors and let MatchMaker start the scene
- Verify animation plays correctly
Debugging Failed Conversions
If animations don’t appear:
| Issue | Check |
|---|---|
.slr file not created |
Verify SLAL_Packs folder structure |
| Manifest shows errors | Check FNIS tools are installed |
| No animations in MCM | Verify Data/SKSE/Plugins/SexLabRegistry/ path |
| Animations crash | Check actor/creature count matches animation |
| Wrong animation plays | Verify JSON wasn’t manually edited incorrectly |
Papyrus Logging
For detailed debugging:
- Edit
skyrim.ini:[Papyrus] bEnableLogging=1 bEnableTrace=1 - Check logs at:
Documents/My Games/Skyrim Special Edition/Logs/Script/
Distribution
Package Structure
Your conversion package should contain:
[SLSB Conversion]
├───meshes
│ └───actors
│ └───[<actor>]
│ ├───animations
│ └───behaviors
└───SKSE
└───Sexlab
└───Registry
└───Source
- An SLSB Project JSON in
SKSE/SexLab/Registry/Source/<PackName>.slsb.json. - A SexLab Registry SLR file in
SKSE/SexLab/Registry/<PackName>.slr. - An edited FNIS AnimList in
meshes/actors/<character>/animations/FNIS_<PackName>_List.txt. - Newly generated behaviour file in
meshes/actors/<character>/behaviors/FNIS_<PackName>_Behaviour.hkx.
Documentation
Include a README noting:
- Required base pack (SLAL version)
- Installation order
- Any known issues
- Credits to original author
Permissions
Always check the original pack’s permissions before distributing conversions. Many authors require permission for derivative works.
Getting Help
- Discord: #slsb-and-pack-dev
- Tutorial: MissCorruption’s Guide
- Examples: Check existing converted packs for reference