
Modders Logger UI
A logging tool with a UI that allows dynamic lookup of method and classes within Megabonk source
By BigBrainBois
Last updated | a day ago |
Total downloads | 57 |
Total rating | 1 |
Categories | |
Dependency string | BigBrainBois-Modders_Logger_UI-1.0.0 |
Dependants | 0 other packages depend on this package |
This mod requires the following mods to function

BepInEx-BepInExPack_IL2CPP
BepInEx pack for IL2CPP x64 Unity games. Preconfigured and ready to use.
Preferred version: 6.0.738README
Megabonk Logger UI (IL2CPP)
A tiny in-game logger/patcher for IL2CPP Unity games. Pick a Type, Method, and optional parameter signature at runtime and Harmony-patch it to log calls — no rebuilds required.
This was made primarily because apparently the newest version of BepInEx bleeding edge and unity explorer are legitimately harder for me to get working than just creating a tool to do basically the same thing with extra steps
Note: This release ships only the plugin DLL. It assumes you already have BepInEx 6 (IL2CPP/CoreCLR) installed for the game.
Features
- In-game UI to select target Type / Method
- Works with global-namespace classes and nested types (
Outer+Inner
) - Patch by explicit signature or by overload index (
#0
,#1
, …) - Logs prefix/postfix to
BepInEx/LogOutput.log
- Configurable hotkey + Ctrl/Alt/Shift modifiers
- No dependency packaging required (Unity & Harmony come from your install)
Basic Modding tutorial with this tool
- First, have a good understanding of c# and Cpp2IL which can be found here
- You must run the following:
- Example: dump dummy DLLs for a Unity game folder Cpp2IL.exe --game-path "C:\Path\To\Your\Game" --output-root "C:\Cpp2IL-Out" --run-analysis --skip-method-dumps
- Using this tool will generate a dump of all of the dlls a unity game uses, which you can then use a tool like ILSpy to figure out what methods might contain the fields you want to patch
This is not a full modding tutorial, do the research on using ILSpy
- From here, you have to use microsoft SDK and .NET to generate dlls from c# code, using BepInEx libraries and such.
- You're on your own from here to create whatever mod you would like to use or see
Requirements (not bundled)
- BepInEx 6 bleeding-edge (IL2CPP/CoreCLR build)
- The game’s UnityEngine assemblies (already in the game)
- HarmonyX (included with BepInEx)
Installation
-
Copy the DLL to your plugins folder:
<GameFolder>\BepInEx\plugins\Megabonk.LoggerUI.dll
-
Launch the game. In
BepInEx\LogOutput.log
you should see:[Info :MB-LoggerUI] Logger UI loaded. Toggle: F8
Usage
- Press F8 (default) to open/close the UI.
- Fill the fields:
- Type
- Global namespace:
ChestOpening
- Nested class:
Outer+Inner
- Full name also works:
Assets.Scripts.Actors.Player.MyPlayer
- Global namespace:
- Method
- Example:
OpenChest
,Update
- Example:
- Param Types CSV (optional)
- Leave empty for parameterless or unique methods
- Use full names, e.g.:
System.Int32, Assets.Scripts._Data.ItemData
- Or click List Overloads and enter
#<index>
(e.g.,#0
)
- Type
- Click Patch. Then perform the action in game.
- Watch
BepInEx\LogOutput.log
for entries like:[Prefix] ChestOpening args: ... [Postfix] ChestOpening -> (done)
Helper Buttons
- Find Type – searches loaded assemblies and logs matching types.
- List Overloads – logs all overloads for the specified method on the resolved type.
Configuration
A config file is created on first run:
BepInEx\config\com.yourname.megabonk.loggerui.cfg
[UI]
ToggleKey = F8
RequireCtrl = false
RequireAlt = false
RequireShift = false
Examples
- F8 only → leave all modifiers
false
- Ctrl+Shift+F8 →
ToggleKey=F8
,RequireCtrl=true
,RequireShift=true
Tips
- If ILSpy shows the class under
{}
(global namespace), use just the class name in Type. - For nested types, use a plus:
Parent+Child
. - If signature resolution is tricky, use List Overloads then select with
#index
. - Some auto-generated accessors (e.g., property getters/setters) may not be patchable.
Troubleshooting
-
UI doesn’t open
Check the config file above and ensure your hotkey + modifiers are correct. Verify BepInEx is loading the plugin inLogOutput.log
. -
“Method not found” when patching
Use Find Type to confirm the full name, then List Overloads and pick with#index
.