MonoDetour
Easy and convenient .NET detouring library, powered by MonoMod.RuntimeDetour.
| Last updated | a month ago |
| Total downloads | 4445737 |
| Total rating | 18 |
| Categories | Libraries |
| Dependency string | MonoDetour-MonoDetour-0.7.13 |
| Dependants | 772 other packages depend on this package |
README
MonoDetour
Easy and convenient .NET detouring library, powered by MonoMod.RuntimeDetour.
- GitHub: https://github.com/MonoDetour/MonoDetour
- Documentation: https://monodetour.github.io/
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 anInvalidProgramExceptionis thrown- If an
ILHookmanipulator 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 someMono.Cecil.Cil.Instructionmethods, such asToString.
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.