Skip to content

BUTR/Bannerlord.Harmony

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub Workflow Status (event)


Steam Mod Configuration Menu Steam Downloads Steam Views Steam Subscriptions Steam Favorites

This is an unofficial distribution of the Lib.Harmony library maintained by the community to have an easier way to manage external library dependencies.

Installation

This module should be the highest in loading order. Any other module that requires to be set at the top (Better Exception Window, DoubleDrawDistance, MCM, etc.) should be loaded after this mod.

For Players

This mod is intended to ensure that all mods in a player's modlist are using the latest version of Harmony to minimize conflicts.

For Modders

We added a Debug UI! Available via CTRL+ALT+H.

You still need to reference Harmony as a NuGet package, it is not required to include 0Harmony.dll in the final /bin output of your module.
You do need to add this to your SubModule.xml

<DependedModules>
    <DependedModule Id="Bannerlord.Harmony" DependentVersion="v2.10.1" />
</DependedModules>

This way the game will ensure that the Harmony library is loaded before your mod.

Versioning

The Module combines the Harmony version used and the Build Id that published the Module. The Build Id is simply added to the end.
2.0.2.22 indicates that Harmony 2.0.2.0 is used and 22 is the Build Id.
2.0.0.1025 indicates that Harmony 2.0.0.10 is used and 25 is the Build Id.

We considered using the Rimworld approach with introducing our own version system, but it won't give a clear way to detect which Harmony version the Module contains. It's easier for the user to report the version of the Module used than to check the assembly version/send it.