- CMake 4.2+
- Visual Studio 2026 (or another CMake-supported generator)
- Java (required by the bundled ffdec-cli)
- A clean Skyrim Special Edition installation with:
- The Creation Kit installed and run at least once to unpack the base game script sources
- The latest SKSE64 installed, including its script source files, overwriting the scripts included with the Creation Kit
- No other mods or tools overwriting the base game or SKSE script sources
Clone the repository with submodules:
git clone --recursive https://github.com/doodlum/SkyUI-Community.git
If you already cloned without --recursive, initialize the submodules with:
git submodule update --init
The build system expects Papyrus script sources at the following locations within your Skyrim SE game directory:
| Path | Contents |
|---|---|
Data/Source/Scripts/ |
Base game and Creation Kit script sources (TESV_Papyrus_Flags.flg, Debug.psc, Form.psc, etc.) |
Data/Scripts/Source/ |
SKSE64 script sources (UI.psc, StringUtil.psc, SKSE.psc, etc.) |
The easiest way to build is to double-click Build.bat. It will automatically detect your Skyrim SE installation via the Steam registry. If auto-detection fails, it will prompt you to enter the path manually.
You can also set the SkyrimSE_PATH environment variable beforehand to skip the prompt:
set SkyrimSE_PATH=C:\Program Files (x86)\Steam\steamapps\common\Skyrim Special Edition
For convenient debugging, use MOD_DEBUG_PATH. .swf and .pex files will be placed in the specified path. If you only modify the .swf, you can test them without exiting the game. Skyrim's interface features "hot reloading." If you are already sitting in the modified menu, open it again to see the changes.
set MOD_DEBUG_PATH="C:\Users\user\AppData\Local\ModOrganizer\Skyrim Special Edition\mods\SkyUI_Test"
Alternatively, from the command line:
cmake --preset debug
cmake --build --preset debug
The build produces build/release/SkyUI_SE-<version>.zip containing:
SkyUI_SE.esp- Plugin fileSkyUI_SE.bsa- Archive containing compiled Papyrus scripts and all interface files
For release use the following command lines:
cmake --preset release
cmake --build --preset release
Contributions are welcome! If you'd like to submit a bug fix or add new functionality, please follow these steps:
- Fork the repository and create a new branch from
main. - Make your changes — ensure they build successfully using the steps above.
- Test your changes in-game to verify they work as expected.
- Open a pull request against
mainwith a clear description of what you changed and why.
This project uses Conventional Commits.
- JPEXS Free Flash Decompiler by Jindra Petřík — used for ActionScript and XML compilation into SWF files