# lavagang/melonloader

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/lavagang-melonloader).**

3,980 stars · 629 forks · C# · Apache-2.0

## Links

- GitHub: https://github.com/LavaGang/MelonLoader
- Homepage: https://discord.gg/2Wn3N2P
- awesome-repositories: https://awesome-repositories.com/repository/lavagang-melonloader.md

## Topics

`dll` `dotnet` `framework` `il2cpp` `melonloader` `mod` `mod-loader` `modding` `mono` `plugin` `unity`

## Description

MelonLoader is a game engine plugin loader designed to inject custom code and load external plugins into Unity games. It functions as a modding framework that supports both Mono and Il2Cpp runtimes, allowing for the modification of games across different backend architectures.

The project enables the patching and hooking of functions within Unity games, specifically providing a system for managing C# assemblies in Mono environments and a framework for patching the Interop C++ backend used by Il2Cpp.

The system handles the interception of the application boot process to load third-party mods from dedicated folders and captures internal engine logs into a unified stream for troubleshooting. It also includes configuration systems to adjust loader behavior, console visibility, and debugging levels.

## Tags

### Game Development

- [Unity Game Modding](https://awesome-repositories.com/f/game-development/unity-game-modding.md) — Injects custom code and plugins into Unity games to modify gameplay or add new features.
- [Game Logic Modification](https://awesome-repositories.com/f/game-development/game-logic-modification.md) — Alters the core behavior of Il2Cpp-compiled Unity games through hooks and code injection.
- [Game Modification Frameworks](https://awesome-repositories.com/f/game-development/game-modification-frameworks.md) — Integrates community-created mods into Unity games using the Mono runtime.
- [Mod Loading Systems](https://awesome-repositories.com/f/game-development/mod-loading-systems.md) — Implements a system for discovering and integrating external scripts and plugins from dedicated folders. ([source](https://cdn.jsdelivr.net/gh/lavagang/melonloader@master/README.md))
- [Modding Frameworks](https://awesome-repositories.com/f/game-development/tooling-asset-pipeline/modding-frameworks.md) — Provides a framework for patching and hooking functions in Unity games using the Il2Cpp backend.
- [Game Engine Instrumentation](https://awesome-repositories.com/f/game-development/game-engine-instrumentation.md) — Intercepts the application boot process and captures engine logs for troubleshooting mods.

### Part of an Awesome List

- [Mod Loader Injectors](https://awesome-repositories.com/f/awesome-lists/devtools/mod-loaders/mod-loader-injectors.md) — Injects loader-specific libraries into the game process at launch to enable third-party mods.
- [Patching and Updates](https://awesome-repositories.com/f/awesome-lists/devops/patching-and-updates.md) — Universal mod loader for Unity games supporting IL2CPP and Mono.

### DevOps & Infrastructure

- [Boot Proxy Loaders](https://awesome-repositories.com/f/devops-infrastructure/configuration-management/application-settings-management/application-behavior-configurations/plugin-parameterization/startup-plugin-loaders/boot-proxy-loaders.md) — Uses proxy files to force the loader to run during the initial application boot process. ([source](https://cdn.jsdelivr.net/gh/lavagang/melonloader@master/README.md))

### Operating Systems & Systems Programming

- [Managed Assembly Injection](https://awesome-repositories.com/f/operating-systems-systems-programming/assembly-injection-interfaces/managed-assembly-injection.md) — Implements the injection of .NET assemblies into running processes to extend game functionality.
- [Application Boot Hijacking](https://awesome-repositories.com/f/operating-systems-systems-programming/init-process-hijacking/application-boot-hijacking.md) — Intercepts the game boot sequence via proxy files to load the modding runtime before the engine starts.

### Software Engineering & Architecture

- [Runtime Method Hooking](https://awesome-repositories.com/f/software-engineering-architecture/code-patching-engines/patch-generators/patch-application/runtime-method-hooking.md) — Redirects method calls in the Mono JIT compiler to native callbacks to alter game behavior.
- [Runtime Method Mapping](https://awesome-repositories.com/f/software-engineering-architecture/metadata-mapping/runtime-method-mapping.md) — Maps C++ method pointers back to original C# signatures using embedded Il2Cpp metadata.
- [Directory-Based Plugin Discovery](https://awesome-repositories.com/f/software-engineering-architecture/integration-extensibility/extensibility/plugin-architectures/registration-discovery-systems/directory-based-plugin-discovery.md) — Automatically scans local directories to discover and load mod plugins during game initialization.

### Web Development

- [Mod Loaders](https://awesome-repositories.com/f/web-development/cross-platform-development/game-development-frameworks/unity-game-frameworks/mod-loaders.md) — Injects custom code and loads external plugins into Unity games via Mono and Il2Cpp.

### System Administration & Monitoring

- [Application Log Redirection](https://awesome-repositories.com/f/system-administration-monitoring/container-observability-tools/log-routing/application-log-redirection.md) — Redirects internal game engine output streams into a shared console for debugging.
- [Process Log Captures](https://awesome-repositories.com/f/system-administration-monitoring/process-log-captures.md) — Captures standard output and engine error streams into a unified log for troubleshooting. ([source](https://cdn.jsdelivr.net/gh/lavagang/melonloader@master/README.md))
