Modding Unity-based games
Before proceeding
This guide applies to games made in the Unity engine, such as maimai DX, O.N.G.E.K.I. and Card Maker.
It is highly recommended to use an unpatched Assembly DLL as your base!
Patches have historically been hardcoded into the unprotected Assembly-CSharp.dll
The modern approach is to use BepInEx to load custom patches without tampering with Assembly-CSharp.
BepInEx can be used to load all mods, including those made for MelonLoader and MonoMod
Installing BepInEx
- Download the BepInEx 5 stable release (
BepInEx_win_x64_5.x.y.z.zip).
Some maimai DX mods are only compatible with BepInEx 5.4.22
-
Extract the
BepInExfolder to theApp\packagefolder (ignore other files such as.doorstop_version) -
Modify
segatools.iniwith the following:
Installing mods
BepInEx plugins
Place them in BepInEx\plugins.
Melonloader mods and plugins
- Download
MLLoader-UnityMono-BepInEx5of the latest BepInEx.MelonLoader.Loader. - Extract it into
App\package. - Place mods in
MLLoader\Mods.
MonoMod patches
These patches always follow the naming pattern: Assembly-CSharp.Name.mm.dll.
- Extract BepInEx.MonoMod.Loader into
App\package. - Place patches in
BepInEx\monomod.