SkyrimVRESL
Adds ESL support to Skyrim
Install / Use
/learn @Nightfallstorm/SkyrimVRESLREADME
Skyrim VR ESL
Adds ESL support to SkyrimVR.
Requirements
- CMake
- Add this to your
PATH
- Add this to your
- PowerShell
- Vcpkg
- Add the environment variable
VCPKG_ROOTwith the value as the path to the folder containing vcpkg
- Add the environment variable
- Visual Studio Community 2022
- Desktop development with C++
- CommonLibVR
- Add this as as an environment variable
CommonLibVRPath
- Add this as as an environment variable
User Requirements
- VR Address Library for SKSEVR
- Needed for VR
Local Development Setup
After cloning, install the pre-commit hooks (requires pre-commit):
pre-commit install
This runs clang-format on staged files before each commit, matching the CI format check.
Register Visual Studio as a Generator
- Open
x64 Native Tools Command Prompt - Run
cmake - Close the cmd window
Building
git clone https://github.com/Nightfallstorm/SkyrimVRESL.git
cd skyrimvresl
# pull submodules
git submodule update --init --recursive
VR
# run preset
cmake --preset vs2022-windows-vcpkg-vr
# see CMakeUserPresets.json.template to customize presets
cmake --build buildvr --config Release
License
GPL-3.0-or-later WITH Modding Exception AND GPL-3.0 Linking Exception (with Corresponding Source).
Specifically, the Modded Code is Skyrim (and its variants) and Modding Libraries include SKSE and Commonlib (and variants).
Use of the API headers (SkyrimVRESLAPI.h, SkyrimVRESLAPI.cpp, SkyrimVRESLAPI_SKSE.h, SkyrimVRESLAPI_SKSE.cpp) is under MIT. In other words, using the SKSE messaging interface to call this dll's published API will not require application of the GPL-3.0 terms to the calling dll. In addition, using SKSEVR or CommonLib with SkyrimVRESL support will not require application of the GPL-3.0 terms.
Credits
Skyrim modding is built on the community. While there are too many to count, we couldn't have done this without foundational work since the original Skyrim release.
- Contributors to CommonLib (check fork network and all the credits), including the original author, Ryan.
- SKSE Team
- Powerof3
Developer Use
See Wiki
API
No link-time dependency on SkyrimVRESL is required — the interface is retrieved at runtime via SKSE's messaging system.
Option A — vcpkg overlay port (recommended)
Add the overlay port path to your CMakePresets.json:
"VCPKG_OVERLAY_PORTS": "/path/to/SkyrimVRESL/cmake/ports"
Add the dependency to your vcpkg.json:
{ "name": "skyrimvresl" }
For the legacy SKSE64 SDK variant add "features": ["legacy"]. Then in CMake:
find_package(skyrimvresl CONFIG REQUIRED)
target_link_libraries(my_plugin PRIVATE SkyrimVRESL::CommonLib) # or SkyrimVRESL::SKSE
The API source is compiled into your plugin automatically via the CMake target.
Option B — manual copy
Copy SkyrimVRESLAPI.h + SkyrimVRESLAPI.cpp (CommonLib) or SkyrimVRESLAPI_SKSE.h + SkyrimVRESLAPI_SKSE.cpp (legacy SKSE64 SDK) directly into your project and add the .cpp to your source list.
ISkyrimVRESLInterface001 — GetSkyrimVRESLInterface001()
GetBuildNumber()— VRESL build numberGetCompiledFileCollection()— SSE-compatibleTESFileCollection(populated afterkDataLoaded)
ISkyrimVRESLInterface002 — GetSkyrimVRESLInterface002() (extends 001)
GetPluginLoadTimings(uint32_t* outCount)— array ofVRESLPluginLoadTiming, one entry per plugin, withtotalNs(ConstructObjectList) andopenNs(OpenTES / file I/O) durations. Stable for the lifetime of the DLL; call afterkDataLoaded.
Related Skills
openhue
340.2kControl Philips Hue lights and scenes via the OpenHue CLI.
sag
340.2kElevenLabs text-to-speech with mac-style say UX.
weather
340.2kGet current weather and forecasts via wttr.in or Open-Meteo
tweakcc
1.5kCustomize Claude Code's system prompts, create custom toolsets, input pattern highlighters, themes/thinking verbs/spinners, customize input box & user message styling, support AGENTS.md, unlock private/unreleased features, and much more. Supports both native/npm installs on all platforms.
