PurrMonitor
dev.purrnet.monitor Network visualization tooling (ownership, bandwidth heatmap)
PurrMonitor
A real time debug visualization tool for PurrNet. See exactly where your bandwidth is going, who owns what, and what your network is actually doing. No guesswork, no print statements, just visual answers right in your scene view.
What is this?
PurrMonitor overlays colored debug visuals on your networked objects while you play & in the custom inspector view. Think of it like a heatmap for your multiplayer game. Objects light up based on how much bandwidth they're using, who owns them, or how much prediction data they're sending.
You get three built in modes:
- Bandwidth shows you which objects are eating the most bandwidth. Green means low, red means high. If something is screaming red, you know where to look.
- Ownership color codes every networked object by its owning player. Each player gets a unique color so you can instantly see who controls what.
- Prediction Bandwidth does the same as bandwidth mode but for client side prediction data. This one requires PurrDiction to be installed.
Every mode also gives you a per component breakdown so you can see exactly which modules on an object are responsible for the traffic.
Installation
Add it through Unity's Package Manager using this git URL:
https://github.com/PurrNet/PurrMonitor.git?path=/Assets/PurrMonitor
PurrNet needs to be installed first. PurrDiction is optional but unlocks the prediction bandwidth mode.
How to use it
- Open Tools > PurrNet > Analysis > PurrMonitor
- Toggle "Overlay Active" on
- Pick a visualization mode
- Hit play and watch your scene light up
The alpha slider lets you control how visible the overlays are. Each mode has its own settings like time window and bandwidth thresholds that you can tweak to your liking.
In bandwidth mode you can click entries in the list to ping the object in your hierarchy. Makes it easy to find the offenders.
Render pipeline support
Works with Built in, URP, and HDRP. No setup needed, it figures out which pipeline you're using automatically.
Custom modes
PurrMonitor is extensible. You can create your own visualization modes by implementing INetworkDebugMode and slapping a [NetworkDebugMode] attribute on it. The system picks it up automatically through reflection. No registration code needed.
[NetworkDebugMode]
public class MyCustomMode : INetworkDebugMode
{
public string Name => "My Mode";
public string Description => "Does something cool";
public Color GetColor(NetworkIdentity identity)
{
// Return whatever color makes sense for your use case
}
}
You can also create a custom editor drawer for your mode by implementing INetworkDebugModeDrawer with the [NetworkDebugModeDrawer] attribute.
No scene setup required
PurrMonitor is entirely static. There's no MonoBehaviour to add, no prefab to spawn, nothing to configure in your scene. Open the window and it works.
Links
Log in and subscribe to the Studio plan to access this package.
Log In