Download MelonLoader.zip from Releases then follow the installation instructions below.
IL2CPP GAME INSTALLATION:
- Place
winmm.dll
next to the game's EXE - Copy the
MelonLoader
folder from<REPO>\BaseLibs
to the game's install folder next to the exe andwinmm.dll
- Place
MelonLoader.dll
andMelonLoader.ModHandler.dll
in theMelonLoader
folder in the game's install folder - Find the game's Unity version in Unity Dependencies in BaseLibs
- If it does not exist you need to generate it yourself
- Extract the zip to the
MelonLoader
folder in the game's install folder
MONO GAME INSTALLATION:
- Place
winmm.dll
next to the game's exe. - Create a new folder named
MelonLoader
in the game's install folder. - Place
MelonLoader.dll
andMelonLoader.ModHandler.dll
in theMelonLoader
folder in the game's install folder.
LAUNCH OPTIONS:
Argument | Description |
---|---|
--no-mods | Launch game without loading Mods |
--melonloader.console | Normal Console |
--melonloader.debug | Debug Console |
--melonloader.mupot | Experimental MUPOT Mode for IL2CPP Games |
GET UNITY VERSION
- Open the file
\<GAME_PATH>\<GAME_NAME>_Data\Resources\unity default resources
with a text editor like Notepad++- If you don't see it you can try guessing the Unity version by checking the file version of the main game EXE
- In the first line you should see something like
� 9ëd � � 2019.1.0b1
where2019.1.0b1
would be the unity version
UNITY DEPENDENCY GENERATION:
- Download the correct unity version found here
- Release:
https://unity3d.com/unity/whats-new/<VERSION>
- Beta:
https://unity3d.com/unity/beta/<VERSION>
- Release:
- Install it (you don't need anything other than the core files [no need to select il2cpp or mono])
- Start it and create a new project
- Make sure that you scene is completely empty
- Make sure your "Scripting Backend" is set to Mono
- "Edit" -> "Project Settings..." -> "Player" -> "Configuration"
- Compile your project ("File" -> "Build and run...")
- Create a new folder that looks like this somewhere
- Open
<UNITY_PROJECT_PATH>\<UNIT_PROJECT_NAME>_Data\Managed\
- Move all files that do not already exist in
<REPO>\BaseLibs\MelonLoader\Managed\
into<FOLDER_YOU_CREATED_IN_STEP_7\Managed\
- For comparison you can use a tool like WinMerge
- Example Diff: https://gist.github.com/Bluscream/120d634988a4b37cf1f97b01ecf47214#file-melonloader_unity_diff-csv
- Files not starting with Unity... and XML files should not end up in
<FOLDER_YOU_CREATED_IN_STEP_7\Managed\
!
- Move the
UnityPlayer.dll
from<UNITY_PROJECT_PATH>\
to<FOLDER_YOU_CREATED_IN_STEP_7\Mono\
and rename it toMonoUnityPlayer.dll
- ZIP up the
Managed\
andMono\
folder in a<UNITY_VERSION>.zip
and either pull request it into the repo directly or drop it on the discord and mention one of the repo maintainers.
CONSOLE DIFFERENCES:
- Normal Console is for the Logger class used by MelonLoader.ModHandler and Mods for debugging and developing Mods.
- Debug Console is for the debugging of MelonLoader internals.
- All Mods get placed in the created Mods folder in the game's install folder.
- All Logs are made in the created Logs folder in the game's install folder.
Specific combinations of Compile Versions will open a specific Console by Default:
MelonLoader | ModHandler | Result |
---|---|---|
DEBUG | RELEASE | Debug Console |
RELEASE | DEBUG | Normal Console |
DEBUG | DEBUG | Debug Console |
RELEASE | RELEASE | Left up to the Launch Options |
CREDITS
LICENSING
MelonLoader is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.