MelonLoader
The World's First Universal Mod Loader for Unity Games compatible with both Il2Cpp and Mono
Install / Use
/learn @LavaGang/MelonLoaderREADME
<p align="center"> <a href="https://github.com/LavaGang/MelonLoader/releases/latest"><img src="https://img.shields.io/github/v/release/LavaGang/MelonLoader?label=latest&style=for-the-badge"></a> <a href="https://github.com/LavaGang/MelonLoader/releases"><img src="https://img.shields.io/github/downloads/LavaGang/MelonLoader/total.svg?style=for-the-badge"></a> <a href="https://github.com/LavaGang/MelonLoader/graphs/contributors"><img src="https://img.shields.io/github/contributors/LavaGang/MelonLoader?style=for-the-badge"></a> <a href="https://discord.gg/2Wn3N2P"><img src="https://img.shields.io/discord/663449315876012052?label=discord&style=for-the-badge&color=blueviolet"></a> </p> <p align="center"> <a href="https://github.com/LavaGang/MelonLoader.Installer/releases/latest/download/MelonLoader.Installer.exe"><img src="https://img.shields.io/github/downloads/LavaGang/MelonLoader.Installer/latest/MelonLoader.Installer.exe?style=for-the-badge&label=Windows%20Installer"></a> </p> <p align="center"> <a href="https://github.com/LavaGang/MelonLoader.Installer/releases/latest/download/MelonLoader.Installer.Linux"><img src="https://img.shields.io/github/downloads/LavaGang/MelonLoader.Installer/latest/MelonLoader.Installer.Linux?style=for-the-badge&label=Linux%20Installer"></a> </p>
GENERAL INFORMATION:
- Debug Mode is for Development Purposes.
Use it to help Develop and Debug MelonLoader, Plugins, and Mods. <br></br> - All Logs are made in the created
MelonLoader/Logsfolder in your Game's Installation Folder. - All Plugins get placed in the created
Pluginsfolder in your Game's Installation Folder. - All Mods get placed in the created
Modsfolder in your Game's Installation Folder. <br></br> - The Official Wiki <br></br>
- Proxies
- Launch Options
- Debugging <br></br>
- Linux Support (WINE / STEAM PROTON / NATIVE)
- Android & Oculus Quest Support (WIP) <br></br>
| Usage Guides: | | - | | INSTALLER | | MANUAL USE |
| Example Projects: | | - | | TestPlugin | | TestMod |
| Nightly Builds: | | - | | master | | alpha-development | | universality |
❤️ SPECIAL THANKS TO OUR WONDERFUL PATRONS ❤️
- Givo
- Florian Fahrenberger
- Python
- SirCoolness
- SlidyDev
REQUIREMENTS:
Il2Cpp Games:
On Windows, the .NET 6.0 Desktop Runtime will be installed automatically
HOW TO USE THE INSTALLER:
- Follow the Instructions in one of the Guides linked below.
| Installer Guides: | | - | | INSTALL | | UPDATE | | RE-INSTALL | | UN-INSTALL |
HOW TO MANUALLY USE MELONLOADER:
UPDATE / RE-INSTALL:
- Follow the Steps to UN-INSTALL
- Follow the Steps to INSTALL
INSTALL:
- Make sure the Game is Closed and Not Running before attempting to Install.
- Make sure you have all the Requirements Installed before attempting to Install.
- Download MelonLoader [x86] [x64]
- Extract the MelonLoader folder from the MelonLoader Zip Archive to the Game's Installation Folder.
- Extract version.dll & dobby.dll from the MelonLoader Zip Archive to the Game's Installation Folder.
UN-INSTALL:
- Make sure the Game is Closed and Not Running before attempting to UN-INSTALL.
- Remove the version.dll file from the Game's Installation Folder.
- Remove the MelonLoader folder from the Game's Installation Folder.
These additional steps below are OPTIONAL if you want to do a FULL UN-INSTALL.
- Remove the Plugins folder from the Game's Installation Folder.
- Remove the Mods folder from the Game's Installation Folder.
- Remove the UserData folder from the Game's Installation Folder.
CONFIG:
MelonLoader has its own config file at ./UserData/Loader.cfg (you need to run MelonLoader at least once for it to appear).
Here is a list of the current config options (and their default values):
[loader]
# Disables MelonLoader. Equivalent to the '--no-mods' launch option
disable = false
# Equivalent to the '--melonloader.debug' launch option
debug_mode = true
# Capture all Unity player logs into MelonLoader's logs even if the game disabled them. NOTE: Depending on the game or Unity version, these logs can be overly verbose. Equivalent to the '--melonloader.captureplayerlogs' launch option
capture_player_logs = true
# The maximum Harmony log verbosity to capture into MelonLoader's logs. Possible values in verbosity order are: "None", "Error", "Warn", "Info", "Debug", or "IL". Equivalent to the '--melonloader.harmonyloglevel' launch option
harmony_log_level = "Warn"
# Only use this if the game freezes when trying to quit. Equivalent to the '--quitfix' launch option
force_quit = false
# Disables the start screen. Equivalent to the '--melonloader.disablestartscreen' launch option
disable_start_screen = false
# Starts the dotnet debugger on Windows and wait it is attached or just wait until one is attached without launch on other OSes (only for Il2Cpp games). Equivalent to the '--melonloader.launchdebugger' launch option
launch_debugger = false
# Sets the loader theme. Currently, the only available themes are "Normal" and "Lemon". Equivalent to the '--melonloader.consolemode' launch option (0 for Normal, 4 for Lemon)
theme = "Normal"
[console]
# Hides warnings from displaying. Equivalent to the '--melonloader.hidewarnings' launch option
hide_warnings = false
# Hides the console. Equivalent to the '--melonloader.hideconsole' launch option
hide_console = false
# Forces the console to always stay on-top of all other applications. Equivalent to the '--melonloader.consoleontop' launch option
console_on_top = false
# Keeps the console title as original. Equivalent to the '--melonloader.consoledst' launch option
dont_set_title = false
[logs]
# Sets the maximum amount of log files in the Logs folder (Default: 10). Equivalent to the '--melonloader.maxlogs' launch option
max_logs = 10
[mono_debug_server]
# Let the Mono debug server wait until a debugger is attached when debug_mode is true (only for Mono games). Equivalent to the '--melonloader.debugsuspend' launch option
debug_suspend = false
# The IP address the Mono debug server will listen to when debug_mode is true (only for Mono games). Equivalent to the '--melonloader.debugipaddress' launch option
debug_ip_address = "127.0.0.1"
# The port the Mono debug server will listen to when debug_mode is true (only for Mono games). Equivalent to the '--melonloader.debugport' launch option
debug_port = 55555
[unityengine]
# Overrides the detected UnityEngine version. Equivalent to the '--melonloader.unityversion' launch option
version_override = ""
# Disables the console log cleaner (only applies to Il2Cpp games). Equivalent to the '--melonloader.disableunityclc' launch option
disable_console_log_cleaner = false
# Forces the Il2Cpp Assembly Generator to run without contacting the remote API. Equivalent to the '--melonloader.agfoffline' launch option
force_offline_generation = false
# Forces the Il2Cpp Assembly Generator to use the specified regex. Equivalent to the '--melonloader.agfregex' launch option
force_generator_regex = ""
# Forces the Il2Cpp Assembly Generator to use the specified Il2Cpp dumper version. Equivalent to the '--melonloader.agfvdumper' launch option
force_il2cpp_dumper_version = ""
# Forces the Il2Cpp Assembly Generator to always regenerate assemblies. Equivalent to the '--melonloader.agfregenerate' launch option
force_regeneration = false
# Enables the CallAnalyzer processor for Cpp2IL. Equivalent to the '--cpp2il.callanalyzer' launch option
enable_cpp2il_call_analyzer = false
# Enables the NativeMethodDetector processor for Cpp2IL. Equivalent to the '--cpp2il.nativemethoddetector' launch option
enable_cpp2il_native_method_detector = false
LAUNCH OPTIONS:
- These are additional Launch Options that MelonLoader adds to the Game.
- These can be used to manipulate how MelonLoader works.
| Argument | Description | | - | - | | --no-mods | Launches the Game without loading any Plugins or Mods | | --quitfix | Fixes the Hanging Process Issue with some Games | | --melonloader.consolemode | Changes the Theme Display Mode of the Console [ Default = 0 ] | | --melonloader.consoleontop | Forces the Console to always stay on-top of all other Applications | | --melonloader.consoledst | Keeps the Console Title as Original | | --melonloader.hideconsole | Hides the Consol
