-
Notifications
You must be signed in to change notification settings - Fork 12
Build and deployment guide
Warning
Ensure the folder you cloned to does not contain special characters. This can cause build errors.
Fahrenheit is generally subdivided into two parts:
- The native (C++) components. These are the Stage 0 (
src/stage0) and Stage 1 (src/stage1) loaders. - The managed (.NET) components. These are the core library, SDK, runtime and tools, and any mods.
All systems can build the managed components. Windows systems can perform full builds.
One of the following is required:
- A .NET IDE such as JetBrains Rider or Visual Studio.
- The CLI .NET SDK.
To build them all:
- With a .NET IDE, build the solution.
- With the .NET SDK, run
dotnet build -c {Debug|Release} .\Fahrenheit.slnxin the folder you cloned Fahrenheit to.
Errors relating to the 'Stage 0' and 'Stage 1' loader projects may be ignored.
Note
You can use a copy of the Stage 0 and Stage 1 loaders from the latest release on systems that cannot build them to compose a complete build.
Requires Visual Studio 2026 on Windows (IDE or Build Tools only) with the following workloads:
- C++ desktop development
- .NET desktop development (if performing a full build)
Once you have installed Visual Studio, enable the vcpkg package manager
by issuing vcpkg integrate install at a Developer PowerShell prompt.
Restart Visual Studio if it was open during this process.
To build at a Developer PowerShell:
msbuild .\Fahrenheit.slnx /t:Restore /p:Configuration=Release
msbuild .\Fahrenheit.slnx /p:Configuration=Release
Alternatively, Build Solution in the IDE performs everything for you.
For a Debug build, change the Configuration parameter to Debug.
To install/test your development build, in the folder in which you cloned Fahrenheit:
- Navigate to
artifacts\deploy, thendbgorreldepending on build type (Debug or Release). - Create a
modsdirectory if it does not exist. - Create an empty, extensionless file called
loadorderin themodsdirectory. - In that file, add the mod IDs of mods you wish to load, each on their own line.
- Open a terminal in
bin, then issue.\fhstage0.exe {ABSOLUTE_PATH_TO_GAME_BINARY}. - Debugging can be performed from Visual Studio. Pass
--debugto Stage 0, attach to eitherfhstage0.exeorFFX.exe, and make sure to enable mixed-mode debugging.
Note
Remember that deploy/** is not cleaned up automatically on rebuild. You may have to clean it yourself depending on the circumstances.