You are viewing a potentially older version of this package. View all versions.
MonoDetour-MonoDetour-0.7.10 icon

MonoDetour

Easy and convenient .NET detouring library, powered by MonoMod.RuntimeDetour.

Date uploaded 4 days ago
Version 0.7.10
Download link MonoDetour-MonoDetour-0.7.10.zip
Downloads 99071
Dependency string MonoDetour-MonoDetour-0.7.10

README

MonoDetour

Easy and convenient .NET detouring library, powered by MonoMod.RuntimeDetour.

Note: MonoDetour is a library for developers. By itself, it does the following once it's loaded by the runtime:

  • ILHooks (includes HarmonyX transpilers) will get MonoDetour's CIL analysis on target method compilation when an InvalidProgramException is thrown
  • If an ILHook manipulator method throws on legacy MonoMod.RuntimeDetour, it will be disabled so the target method can be ILHooked successfully later
  • MonoMod's ILLabels won't cause InvalidCastExceptions in some Mono.Cecil.Cil.Instruction methods, such as ToString.

Note: do not depend on this package directly. Instead depend on MonoDetour_BepInEx_5 or MonoDetour_BepInEx_6 as it will integrate MonoDetour's logger with BepInEx and provides HarmonyX interop support.

Why Use MonoDetour?

MonoDetour is an alternative to HarmonyX or MonoMod.RuntimeDetour for detouring. It attempts to improve on the hooking experience as much as possible. See https://monodetour.github.io/getting-started/why-monodetour/ to learn more.

CHANGELOG

Changelog

MonoDetour's changelogs can be found in GitHub releases: https://github.com/MonoDetour/MonoDetour/releases