Modding the Noble Fates Source Code

Last modified:


Set Up JetBrains dotPeek

JetBrains dotPeek is a tool that can be used to decompile the game's source.

  • Run dotPeek
  • File
  • Open
  • Browse to and Select Assembly-CSharp.dll (..\Steam\steamapps\common\Noble Fates\Noble Fates_Data\Managed\)

Investigate the <Root Namespace> to see the game's Classes, Members, and Source:

Image 516

Set Up Visual Studio

Visual Studio can be used to develop C# dlls that the game will load.


NOTE: The Visual Studio Version isn't important, but make sure you install the .Net Framework 4.7.1 SDK and targeting pack.

Image 518

Create Project

Set up your Project:

  • Open Visual Studio
  • New Project
  • Class Library (.NET Framework)
  • Framework: .NET Framework 4.7.1

Image 519


Add References to Assembly-CSharp and 0Harmony dlls (from the Harmony mod):

Image 521



Create a Patch

Develop a patch by following Harmony documentation here.


No Fracture On Startup has a simple example where it uses a prefix to scrape data before the PropManager's Initialize function runs and restores it in a postfix for use by subsequent code.


Create a Bus

Use a Bus to hook into the game. A given mod can have multiple Busses.

Busses are useful if you're altering functionality, but don't need to store data in the save. Can be removed mid-game without consequences.

Image 522

Override Loaded to apply your patch:

Image 523

Build your dll

Build a release x64 dll (add x64 as an option by clicking Any CPU opening the Configuration Manager and choosing x64 as a Platform).

Copy the resulting .dll to your mod's folder.


Is this article helpful for you?