About this project

MelonLoader is a mod loader designed for Unity games, described by its maintainers as compatible with both Il2Cpp and Mono game backends. It is distributed under the Apache License 2.0 and developed by the LavaGang organization. How it works: MelonLoader uses a proxy DLL to cause the game to load the loader at startup. On Windows the proxy can be renamed to a set of compatible file names (version.dll by default, plus winhttp.dll, winmm.dll, dinput.dll, dinput8.dll, dsound.dll, d3d8/9/10/11/12.dll, ddraw.dll, msacm32.dll). Plugins are placed in a Plugins folder and mods in a Mods folder, both created inside the game's installation directory. Logs are written to a MelonLoader/Logs folder. Installation: Prebuilt installers are offered for Windows (.exe), Linux, and macOS (.dmg). Manual installation involves extracting the MelonLoader folder plus version.dll and dobby.dll into the game directory; uninstalling means removing those files, with optional removal of the Plugins, Mods and UserData folders. For Il2Cpp games, the .NET 6.0 Desktop Runtime is listed as a requirement (installed automatically on Windows). Configuration: A TOML config file at ./UserData/Loader.cfg exposes options for disabling the loader, debug mode, capturing Unity player logs, Harmony log verbosity, force-quit fixes, start screen, debugger launch, console theme, console visibility and on-top behavior, log retention count, Mono debug server address/port, Unity version override, and Il2Cpp assembly generation controls (offline generation, regex, dumper version, forced regeneration, Cpp2IL processors). Launch options: Command-line arguments mirror the config, including --no-mods, --quitfix, --melonloader.debug, --melonloader.hideconsole, --melonloader.hidewarnings, --melonloader.captureplayerlogs, --melonloader.harmonyloglevel, --melonloader.maxlogs, --melonloader.loadmodeplugins, --melonloader.loadmodemods, --melonloader.basedir, --melonloader.disablestartscreen, plus Unity-specific options such as --melonloader.unityversion, --melonloader.agfoffline, --melonloader.agfregenerate, --melonloader.agfregex, --melonloader.agfvdumper, --melonloader.disableunityclc, --melonloader.monosearchpathoverride, and Cpp2IL options --cpp2il.callanalyzer and --cpp2il.nativemethoddetector. Platform support: Windows is the primary target for the proxy mechanism; Linux support is documented for WINE, Steam Proton and native setups, and Android/Oculus Quest support is marked as work in progress. Example projects (TestPlugin, TestMod) and nightly builds for master, alpha-development and universality branches are linked. Licensing and credits: The project bundles or references numerous third-party libraries including Dobby, plthook, Mono, HarmonyX, MonoMod, Mono.Cecil, Newtonsoft.Json, TinyJSON, Tomlet, AsmResolver, SharpZipLib, Semver, Illusion Plugin Architecture, MuseDashModLoader, mgGif, AssetsTools.NET, AssetRipper.VersionUtilities, bHapticsLib, IndexRange, ValueTupleBridge, WebSocketDotNet, Pastel and Il2CppInterop, along with runtime-downloaded tools such as Cpp2IL and .NET Runtime. The README notes that MelonLoader is not sponsored by or affiliated with Unity Technologies.