Fahrenheit 1.0.0-alpha07

This is a prerelease version of Fahrenheit.
dotnet add package Fahrenheit --version 1.0.0-alpha07
                    
NuGet\Install-Package Fahrenheit -Version 1.0.0-alpha07
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Fahrenheit" Version="1.0.0-alpha07" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Fahrenheit" Version="1.0.0-alpha07" />
                    
Directory.Packages.props
<PackageReference Include="Fahrenheit" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Fahrenheit --version 1.0.0-alpha07
                    
#r "nuget: Fahrenheit, 1.0.0-alpha07"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Fahrenheit@1.0.0-alpha07
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Fahrenheit&version=1.0.0-alpha07&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Fahrenheit&version=1.0.0-alpha07&prerelease
                    
Install as a Cake Tool

Fahrenheit

A Final Fantasy X/X-2 reverse-engineering project and mod framework.

banner

What is Fahrenheit?

Fahrenheit is a reverse-engineering project for the Final Fantasy X and X-2 HD Remasters.

It is also a mod framework for the games. It allows you to freely hook game functions and distribute mods in the form of loadable DLLs. Fahrenheit bootstraps and hosts the .NET runtime within the games, allowing you to write mods in any compatible language.

The knowledge gathered by the project underpins many tools and mods for the game, such as the AI/VI TAS, Cutscene Remover mod, Karifean's FFXDataParser, and more. Fahrenheit, like all of these tools, is free for you to analyze, improve, learn from and use- now and forever.

Cloning, building from source and testing

Fahrenheit includes submodules. To clone them all, use git clone --recurse-submodules https://github.com/fahrenheit-crew/fahrenheit.

Ensure the folder you cloned to does not contain special characters. This can cause build errors.

Building requires Visual Studio 2026 (full IDE or Build Tools only) with the following workloads:

  • .NET desktop development (latest version)
  • C++ desktop development (latest version)

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
msbuild .\Fahrenheit.slnx /t:Publish /p:Configuration=Release

If using Visual Studio, Build Solution performs the first two steps for you. For a Debug build, change the Configuration parameter to Debug.

To install/test your development build:

  • Create a subfolder in your game directory (where FFX.exe is) named fahrenheit.
  • In the directory in which you cloned Fahrenheit, navigate to the artifacts\deploy subdirectory.
  • Depending on build type (Debug or Release), navigate to the dbg or rel subdirectory.
  • Copy the contents of that directory (the folders bin, mods, etc.) to the fahrenheit subfolder in the game directory.
  • Create an empty, extensionless file called loadorder in the mods directory. Add the manifest names of mods you wish to load, each on their own line.
  • Open a terminal in fahrenheit/bin, then issue .\fhstage0.exe ..\..\FFX.exe.
  • Debugging can be performed from Visual Studio. Attach to either fhstage0.exe or FFX.exe, and make sure to enable mixed-mode debugging.

Compatibility notes

Fahrenheit is incompatible with Untitled Project X and ffgriever's External File Loader for FFX/FFX-2. Fahrenheit supplies its own External File Loader, and you can use Roelin's Asset Converter for model and texture modding in conjunction with it.

Fahrenheit is also incompatible with RivaTuner Statistics Server when used in non-stealth mode.

What's next?

Time permitting, the goals (in no specific order) of the project are:

  • Provide actual code-behind, helper functions, and tooling to make various modding tasks approachable.
  • Provide a mod manager for end users who simply want to enjoy the game.
  • Provide quality documentation for various implementation-specific details and game systems.
  • In general, polish every aspect of the solution.

Can I contribute?

Yes. Feel free to join us in Cid's Salvage Ship, a Discord server that supports Fahrenheit and related efforts.

License

Fahrenheit source code is licensed under the MIT license.

Assets (the contents of the assets folder) may be used in forks of Fahrenheit, but not for any other purpose!

For third-party code license notices, please see THIRD-PARTY-NOTICES.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.0-alpha07 0 2/28/2026
1.0.0-alpha05 0 2/25/2026