/HarmonyX

Harmony built on top of MonoMod.RuntimeDetours with additional features

Primary LanguageC#MIT LicenseMIT

HarmonyX Logo

NuGet


A library for patching, replacing and decorating .NET and Mono methods during runtime. Now powered by MonoMod.RuntimeDetour!


About

HarmonyX is a fork of Harmony 2 that specializes on support for games and game modding frameworks.

HarmonyX is being developed primarily for use in game frameworks alongside MonoMod. The main target usage of HarmonyX is BepInEx and Unity.

Important aspects of HarmonyX include:

  • Unity support first: builds for .NET Framework 3.5 and .NET Standard 2.0
  • Patching feature parity with Harmony while reducing code duplication using MonoMod.RuntimeDetour
  • Fast release schedule: get periodic stable releases off NuGet or GitHub, or download the latest CI build with nightly.link
  • Full interop with MonoMod.RuntimeDetour: patches made with either can coexist
  • Easily extendable patching: built-in support for native method patching and possibility to extend to other patch targets (e.g. IL2CPP)
  • Fixes, changes and optimizations aimed at Unity modding

HarmonyX is powered by MonoMod and its runtime patching tools.

Documentation

Check the documentation out at HarmonyX wiki.