A native SKSE Menu Framework interface for SlaveTatsNG. Browse installed tattoo packs, inspect the Player's overlay slots, and apply, replace, edit, or remove tattoos without using MCM.
Building from source or contributing? See DEVELOPMENT.md and DEPLOY.md.
Install and enable all of these before loading SlaveTats UI:
| Mod | Notes |
|---|---|
| SKSE64 | Must match the installed Skyrim SE/AE version |
| SKSE Menu Framework | Version 3.x |
| SlaveTatsNG | Provides the tattoo runtime API |
| JContainers SE | Provides SlaveTats data storage |
| One or more SlaveTats texture packs | Loose files and BSA archives are supported |
PrismaUI is not required by SlaveTats UI. It may remain installed if another mod uses it.
Install the release archive with Mod Organizer 2 and enable it. The package is DLL-only:
SlaveTatsUI\
└── SKSE\Plugins\SlaveTatsUI.dll
Launch Skyrim through SKSE in MO2.
Press F8 by default or choose SlaveTatsUI > Tattoo Browser in SKSE Menu Framework. The configured hotkey toggles the native window.
The workflow starts on the Player's current slots:
- choose an empty slot to browse and apply a tattoo;
- choose an occupied SlaveTats slot to edit its color/alpha, replace it, or remove it;
- external overlay slots remain visible but read-only;
- search, source/section/area filters, and pagination narrow the catalog;
- Refresh reloads current slot state and Sync reapplies visual updates.
Only current-page thumbnails are requested. Loose and BSA-backed DDS textures are decoded and uploaded to a bounded D3D11 cache; missing textures render a placeholder rather than blocking the menu.
The hotkey defaults to None. Open the SlaveTatsUI section in SKSE Menu and
choose a keyboard key from the Hotkey dropdown. Choose None to disable the
hotkey.
The setting is saved immediately to SlaveTatsUI.json beside the plugin log.
Existing named or raw DIK scancode values remain supported.
- Skyrim SE 1.5.97 and AE 1.6.x are supported when the DLL is built against a matching SKSE/CommonLibSSE-NG setup.
- The initial native workflow targets the Player only (FormID
0x14). - Texture packs must follow
textures\actors\character\slavetats\<section>\*.dds.
The UI does not open
- Confirm SKSE Menu Framework 3.x is installed and enabled.
- Check
SlaveTatsUI.logfornative menu unavailableand its named reason. - Confirm the configured hotkey is not claimed by another mod.
JContainers or SlaveTatsNG is unavailable
- Confirm both dependencies match the current Skyrim runtime and load through SKSE.
- Inspect
SlaveTatsUI.logfor interface-version or initialization errors.
A thumbnail is missing
- Confirm the tattoo pack is enabled and its DDS path follows the standard layout.
- Check the log for the texture path and failure stage (
resolveorupload).
Apply, edit, remove, or sync has no visible effect
- Test on the loaded Player in first- or third-person view.
- Use Refresh to reload slot state and Sync to request visual synchronization.
The primary log is normally written to:
%USERPROFILE%\Documents\My Games\Skyrim Special Edition\SKSE\SlaveTatsUI.log
If that directory is unavailable, the plugin falls back to
Data\SKSE\Plugins\SlaveTatsUI.log.