Your first tracked run
This guide will walk you through using SpawnLogger for the first time, from launching the game to understanding every counter on the overlay.Launch MegaBonk
Start the game normally. SpawnLogger loads automatically with BepInEx.You should see initialization messages in the console (if enabled):
The overlay won’t appear in menus - it only activates during active rounds when objects spawn.
Start a round
Begin a new game or continue an existing save. Once you start playing:
- SpawnLogger enables tracking when the round begins
- Hooks activate to monitor spawn events
- Counters reset to prepare for the new round
GameManager.StartPlaying(), TryInit(), and CreateInstances() to detect round starts.Wait for spawns
As you play, objects will spawn in the level:
- Chests typically spawn early when
SpawnInteractables.SpawnChests()runs - ShadyGuys may appear as you explore
- Shrines (Charge and Moai types) spawn with the level
If nothing has spawned yet, the overlay will show “Waiting for spawns…” to confirm it’s active.
Understanding the counters
Chests: X/Y
Tracks chest availability:- X = Unopened chests remaining
- Y = Total chests spawned this round
Chests: 3/5 means 5 chests spawned and 3 are still unopened.
How chest tracking works
How chest tracking works
- Increments when
SpawnInteractables.SpawnChests()runs - Decrements when
TrackStats.OnChestOpened()fires - Resets to 0/0 at the end of each round
ShadyGuys: X/Y
Monitors ShadyGuy NPCs:- X = Number of ShadyGuys that disappeared (without interaction)
- Y = Total ShadyGuys spawned
ShadyGuys: 1/3 means 3 ShadyGuys appeared and 1 has already disappeared.
How ShadyGuy tracking works
How ShadyGuy tracking works
- Increments total when
InteractableShadyGuy.Start()runs - Tracks interactions via
InteractableShadyGuy.Interact() - Counts disappeared via
InteractableShadyGuy.Disappear()
Shrines: X/Y
Tracks Charge Shrine status:- X = Active shrines (not yet completed)
- Y = Total shrines spawned
Shrines: 2/4 means 4 shrines spawned and 2 are still waiting to be completed.
How shrine tracking works
How shrine tracking works
- Increments when
ChargeShrine.Start()runs - Decrements when
ChargeShrine.Complete()fires - Both counters reset at round end
Moai: X/Y
Monitors Moai Shrine interactions:- X = Moai shrines interacted with
- Y = Total Moai shrines spawned
Moai: 1/2 means 2 Moai shrines exist and you’ve used 1.
How Moai tracking works
How Moai tracking works
- Increments total when
SpawnInteractables.SpawnShrines()creates Moai - Tracks interactions via
InteractableShrineMoai.Interact() - Only counts successful interactions (when
__resultis true)
Tracking behavior
Round lifecycle
SpawnLogger automatically manages tracking based on round state:Round start
When a round begins via
GameManager.StartPlaying(), TryInit(), or CreateInstances():- All counters reset to zero
- Tracking is enabled (
Plugin.disableTracker = false) - Round state is marked active (
ChargeShrineTracker.IsRoundActive = true)
Active gameplay
During the round:
- Spawns are detected and counted in real-time
- Interactions update counters immediately
- The overlay updates automatically with each change
Round end
When you die (
GameManager.OnDied()) or the GameManager is destroyed:- Tracking disables (
Plugin.disableTracker = true) - All counters reset to zero
- The overlay hides but persists for the next round
The overlay persists across stage transitions using Unity’s
DontDestroyOnLoad(), so you’ll keep seeing your tracking data even when loading new areas.Console logging
For detailed debugging or verification, SpawnLogger writes comprehensive logs:- The BepInEx console window (if enabled)
BepInEx/LogOutput.logfile
Tips for effective tracking
Check regularly
Glance at the overlay periodically to ensure you haven’t missed any chests or shrines before advancing.
Watch ShadyGuys
The disappeared counter helps you see how many ShadyGuys you missed - try to interact before they vanish.
Complete shrines
Active shrine count shows incomplete shrines - useful for completionists who want to finish everything.
Track efficiency
Compare opened vs total chests to measure your exploration thoroughness across runs.
What’s next?
You’re now tracking all spawned objects in MegaBonk! The overlay will continue working automatically across all your runs. Want more details? Check out:- Installation guide for troubleshooting
- Introduction for technical details about how it works
- The source code for customization options
SpawnLogger is open source (v0.5.3 by Antiparty). The plugin GUID is
Antiparty_SpawnLogger if you’re configuring mod compatibility.