Modders Logger UI

v1.0.0·Updated 2025-10-11

A logging tool with a UI that allows dynamic lookup of method and classes within Megabonk source

About this mod Author’s original text

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:

\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
  • Method
  • Example: OpenChest, Update
  • 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 # (e.g., #0)
  • 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 in LogOutput.log.

  • “Method not found” when patching

Use Find Type to confirm the full name, then List Overloads and pick with #index.

Install & use Install: follow the bundled instructions

  1. Unzip the archive from playbuff and read the bundled readme / instructions first.
  2. Most mods rely on the game's mod loader — the usual route is a community mod manager (such as r2modman): pick this game, install, and it handles the loader and dependencies.
  3. For a manual install, put the mod files into the matching Mod / plugins folder inside the game directory.
  4. Launch the game to confirm it loaded; mods with listed dependencies need those installed as well.

Install locations vary a lot between mods — the bundled readme is the most reliable guide.

Dependencies

Install these first, or the mod will not work:

BepInEx-BepInExPack_IL2CPP

File & checksum

Filename
Modders_Logger_UI-1.0.0.zip
File size
69.1 KiB