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:
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.
Create Project
Set up your Project:
- Open Visual Studio
- New Project
- Class Library (.NET Framework)
- Framework: .NET Framework 4.7.1
Add References to Assembly-CSharp and 0Harmony dlls (from the Harmony mod):
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.
Override Loaded to apply your patch:
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.