SKSE core plugin for community-driven advanced graphics modifications.
- Any terminal of your choice (e.g., PowerShell)
- Visual Studio Community 2022
- Desktop development with C++
- CMake
- Edit the
PATHenvironment variable and add the cmake.exe install path as a new value - Instructions for finding and editing the
PATHenvironment variable can be found here
- Edit the
- Git
- Edit the
PATHenvironment variable and add the Git.exe install path as a new value
- Edit the
- Vcpkg
- Install vcpkg using the directions in vcpkg's Quick Start Guide
- After install, add a new environment variable named
VCPKG_ROOTwith the value as the path to the folder containing vcpkg - Make sure your local vcpkg repo matches the commit id specified in
builtin-baselineinvcpkg.jsonotherwise you might get another version of a non pinned vcpkg dependency causing undefined behaviour
- Address Library for SKSE
- Needed for SSE/AE
- VR Address Library for SKSEVR
- Needed for VR
- Open
x64 Native Tools Command Prompt - Run
cmake - Close the cmd window
Or, in powershell run:
& "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\Build\vcvarsall.bat" amd64Open terminal (e.g., PowerShell) and run the following commands:
git clone https://github.com/doodlum/skyrim-community-shaders.git --recursive
cd skyrim-community-shaders
.\BuildRelease.bat
If you want an example CMakeUserPreset to start off with you can copy the CMakeUserPresets.json.template -> CMakeUserPresets.json
- This option is default
"OFF" - Make sure
"AUTO_PLUGIN_DEPLOYMENT"is set to"ON"inCMakeUserPresets.json - Change the
"CommunityShadersOutputDir"value to match your desired outputs, if you want multiple folders you can separate them by;is shown in the template example
- This option is default
"ON" - Make sure
"AIO_ZIP_TO_DIST"is set to"ON"inCMakeUserPresets.json - This will create a
CommunityShaders_AIO.7zarchive in /dist containing all features and base mod
- This option is default
"ON" - Make sure
"ZIP_TO_DIST"is set to"ON"inCMakeUserPresets.json - This will create a zip for each feature and one for the base Community shaders in /dist
- If having a file with name
COREin the root of the features folder it will instead be merged into the core zip
- This option is default
"OFF" - This will enable tracy support, might need to delete build folder when this option is changed
When using custom preset you can call BuildRelease.bat with an parameter to specify which preset to configure eg:
.\BuildRelease.bat ALL-WITH-AUTO-DEPLOYMENT
When switching between different presets you might need to remove the build folder
For those who prefer to not install Visual Studio or other build dependencies on their machine, this encapsulates it. This uses Windows Containers, so no WSL for now.
- Install Docker first if not already there.
- In a shell of your choice run to switch to Windows containers and create the build container:
& 'C:\Program Files\Docker\Docker\DockerCli.exe' -SwitchWindowsEngine; `
docker build -t skyrim-community-shaders .- Then run the build:
docker run -it --rm -v .:C:/skyrim-community-shaders skyrim-community-shaders:latest- Retrieve the generated build files from the
build/aiofolder. - In subsequent builds only run the build step (3.)
If you run into Access violation build errors during step 3, you can try adding --isolation=process:
docker run -it --rm --isolation=process -v .:C:/skyrim-community-shaders skyrim-community-shaders:latestGPL-3.0-or-later WITH Modding Exception AND GPL-3.0 Linking Exception (with Corresponding Source).
Specifically, the Modded Code includes:
- Skyrim (and its variants)
- Hardware drivers to enable additional functionality provided via proprietary SDKs, such as Nvidia DLSS, AMD FidelityFX FSR3, and Intel XeSS
The Modding Libraries include:
- SKSE
- Commonlib (and variants).
See LICENSE within each directory; if none, it's Default
- Community Shaders Logo is not covered by the GPL-3.0 license. It is provided solely for personal use (e.g., building from source) and may only be used in unmodified form. There is no license for any other purpose or to distribute the logo. No trademark license is granted for the logo. Any use not expressly permitted is prohibited without the express written consent of the Community Shaders team.