Compile Project Overview

The Compile Project tool builds your SKSE plugins using the xmake build system.

What It Does

Prerequisites

Build Options

OptionDescription
ProjectSelect the project to build from the dropdown
ConfigurationDebug, Release, or RelWithDebInfo
RuntimeSE only, AE only, SE + AE (dual), or VR only
CleanRemove previous build artifacts before building
VersionOverride the version number for this build
DescriptionOverride the plugin description for this build

Header Actions

ButtonAction
CompileConfigure and build the project
CleanRemove all build artifacts and configuration files
OpenOpen the build output folder in file explorer
StopStop a running build process

Build Output

Terminal Output

Build progress and any errors are shown in the terminal panel at the bottom of the window.

Output Location

After a successful build, your DLL is located at:

%PROJECT%/build/%PLATFORM%/%CONFIG%/%PROJECT%.dll

For example:

C:\Dev\Skyrim\projects\MyPlugin\build\windows\x64\release\MyPlugin.dll
Mods Path: If you've configured a Mods Path in Set Paths, the DLL can be automatically copied there after a successful build.

Build Configurations

ConfigurationDescriptionUse Case
DebugNo optimization, full debug symbolsDevelopment, debugging with a debugger
ReleaseFull optimization, no debug symbolsFinal release builds
RelWithDebInfoOptimization with debug symbolsProfiling, debugging crashes in release

Recommended Workflow

Runtime Targets

SKSE plugins can target different Skyrim versions:

RuntimeDescriptionGame Version
SE onlySkyrim Special Edition (pre-AE)1.5.97 and earlier
AE onlySkyrim Anniversary Edition1.6.x
SE + AE (dual)Both SE and AE in one pluginAll versions
VR onlySkyrim VRVR version
Dual Runtime: The "SE + AE (dual)" option creates a plugin that works with both SE and AE versions. This is the recommended choice for maximum compatibility.

xmake Runtime Flags

# SE only
xmake f -m release --skse_runtime=se

# AE only
xmake f -m release --skse_runtime=ae

# Dual (SE + AE)
xmake f -m release --skse_runtime=dual

# VR only
xmake f -m release --skse_runtime=vr

Troubleshooting

Build Fails Immediately

Compiler Errors

Linker Errors

xmake Not Found

MSVC Not Found

Clean Build Doesn't Help

Antivirus Warning: Some antivirus software may flag compiled DLLs. Add your build folders to your antivirus exclusions if you encounter false positives.