Showing content from https://github.com/MonoMod/MonoMod below:
MonoMod/MonoMod: C# modding swiss army knife, powered by cecil.
Skip to content Navigation Menu
Search code, repositories, users, issues, pull requests...
Saved searches Use saved searches to filter your results more quickly
Sign up You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert MonoMod/MonoMod
General purpose .NET assembly modding "basework", powered by cecil.
MIT-licensed.
... or download fresh build artifacts for the last commit.
MonoMod is a modding "basework" (base tools + framework).
Mods / mod loaders for the following games are already using it in one way or another:
It consists of the following modular components:
- MonoMod.Patcher: The ahead-of-time MonoMod patcher and relinker.
- MonoMod.Utils: Utilities and helpers that not only benefit MonoMod, but also mods in general. It contains classes such as
PlatformDetection
, FastReflectionHelper
, DynamicMethodHelper
, DynamicMethodDefinition
, DynDll
and the ModInterop
namespace.
- MonoMod.DebugIL: Enable IL-level debugging of third-party assemblies in Visual Studio / MonoDevelop.
- MonoMod.Core: The core upon which runtime method detouring is built.
- MonoMod.RuntimeDetour: A flexible and easily extensible runtime detouring library, supporting x86/x86_64 on .NET Framework, .NET Core, and Mono.
- MonoMod.RuntimeDetour.HookGen: A utility to generate a "hook helper .dll" for any IL assembly. This allows you to hook methods in runtime mods as if they were events. Built with MonoMod and RuntimeDetour.
- MonoMod.Backports: A collection of BCL backports, enabling the use of many new language and library features, as far back as .NET Framework 3.5.
- Cross-version compatibility, even with obfuscated assemblies.
- Cross-platform compatibility, even if the game uses another engine (f.e. Celeste uses XNA on Windows, FNA on macOS and Linux).
- Use language features which otherwise wouldn't be supported (f.e. C# 7 in Unity 4.3).
- Patch on the player's machine with a basic mod installer. No need to pre-patch, no redistribution of game data, no copyright violations.
- With HookGen, runtime hooks are as simple as
On.Namespace.Type.Method += (orig, a, b, c) => { /* ... */ }
- With HookGen IL, you can manipulate IL at runtime and even inline C# delegate calls between instructions.
- Modularity allows you to mix and match. Use only what you need!
About
C# modding swiss army knife, powered by cecil.
Topics Resources License Stars Watchers Forks
You can’t perform that action at this time.
RetroSearch is an open source project built by @garambo
| Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4