A downloadable tool

Get this tool and 3 more for $29.99 USD
View bundle
Buy Now$4.99 USD or more

Hear what your game is telling you!

Echo - advanced debug logging (and a full debug UI builder)!

Echo is a lightweight but surprisingly powerful debug logger for GameMaker, that also now comes with Echo Chamber, a fully featured debug UI builder!

Your game wants to tell you what is happening...Echo helps you actually hear it. Swap scattered show_debug_message() calls for level based logs with tags, optional stack traces, and a history buffer you can dump to a file whenever you need to.

Echo is designed to stay out of the way until you need it, then give you a clear picture of what your game is doing without spamming your console.

Buy StatementPulse or Catalyst (or get them in a bundle for a discount) and get Echo free!

Join the Echo discord channel


Get the Ignition Kit bundle, featuring Pulse, Catalyst AND Statement for a discount!

Or get the Full Suite Pass bundle to get all current and future tools for one low price (price will increase each time a new tool launches, so get in early for substantial savings!)


What Echo does

Instead of this:

show_debug_message("Player created");
show_debug_message("HP: " + string(hp));
show_debug_message("Some AI thing went wrong");

You do this:

EchoDebugInfo("Player created", "Player");
EchoDebugWarning("HP low: " + string(hp), "Combat");
EchoDebugSevere("Unhandled AI state", "AI");

Now you can:

  • Turn logs on or off by level.
  • Filter by tag (for example, only see "AI" or "Physics" logs).
  • Get automatic stack traces when something serious happens.
  • Capture a rolling history and dump it to a timestamped log file.

When you are ready to ship, flip the ECHO_DEBUG_ENABLED macro to false and Echo quietly steps aside so your release builds are not full of noise.


Key features

  • Level based filtering
    Control how noisy your logs are using eEchoDebugLevel (from NONE through to COMPLETE). Keep things quiet most of the time, then crank it up when you are chasing a bug.
  • Tag based filtering
    Give each log one or more tags (for example "AI", "Physics", "UI") and tell Echo which tags you care about right now. Great for narrowing in on one system in a big project.
  • Per message urgency
    Mark logs as INFO, WARNING, or SEVERE. Echo uses this to decide when to force logs through and when to attach stack traces.
  • Optional stack traces
    Severe logs and high detail levels can automatically include a call stack, so you know exactly how you got to a bad state.
  • Rolling history buffer
    Echo keeps a history of recent logs so you can inspect them directly or dump them to a timestamped text file when something goes wrong on a tester or player machine.
  • Macro driven on / off switch
    All of Echo is wired through the ECHO_DEBUG_ENABLED macro, so you can leave calls in your code and choose whether they do full logging, minimal logging, or nothing in each build.
  • Simple, namespaced API
    All functions live under a clear Echo prefix, so they are easy to find in auto complete and do not collide with your own helpers.

Now comes with Echo Chamber!

A simple to use but quite powerful UI builder designed specifically for creating debug UIs.

Features (are you ready? because it's a long list)

  • A managed "desktop" experience that captures input, processes the active window, and handles drawing everything automatically.
  • Windows have "real" window behaviour, such as dragging, resizing, z-order, bring-to-front, minimise and close, fit to content, and plenty more.
  • Window panels allow docking and fill layouts (dock a panel to the top of a window and allow the panel below it to fill the rest of the space), and panel collapsing (a simple click can collapse an entire panel).
  • Panels also have custom draw hooks, which is how I display the state nodes in Statement's visual debugger: Lens, which is entirely built from Echo Chamber:
  • Each window can have its own hotkeys and input assigned, while allowing inheritance of default inputs.
  • Clipping and hit testing that respect window, panel, and control flow.
  • Scrollable areas, tooltips with delay, toasts (have a brief notification appear in the bottom right of the window).
  • Overlays consume input (dropdown menus will not activate buttons underneath them when clicked).
  • Plenty of control primitives like buttons, toggles, wrapped text display, input text boxes, dropdown menus, etc.
  • Ability to save/load window layout (including z-order and panel states).
  • Completely theme-able. Create your own colour schemes and easily skin windows, with the ability to override individual elements with specific styles.
  • Tab can jump through focusable elements.
  • And more...

As you can see, I've really tried to handle as many of the annoying pain points that come up when trying to create complex UI setups as possible, making Echo Chamber perfect for complex debugging setups.

I have plans to extend it into a full HUD builder for actual games, but right now it is not fully optimised for that kind of usage, so I would discourage it in most scenarios.


Documentation

As with all of my GameMaker based tools, Echo comes with full online documentation, including an entire API reference page and multiple common patterns that you can add to your project straight away with minimal tweaking.

Echo Documentation


Requirements

GameMaker 2024.8+ (requires gpu_set_scissor() function).


Support and feedback

If you run into issues or have ideas for improvements:


Part of the RefresherTowel Games Toolkits

Part of a growing suite of GameMaker tools that are designed to play nicely together. If you like this style of tooling, you might also want:

  • Catalyst - makes modifiable numbers & statistics super easy.
  • Pulse - a signals and events framework (supporting queries that allow you to ask questions instead of just broadcast signals!)
  • Statement - a state machine framework (with a fully visual in-game debugger).
  • Echo - advanced debug logging (level filtering, tags, optional stack traces, history dumps) that now comes with an advanced, yet easy to use debug UI builder!

Get them in the Ignition Kit bundle for a discount! Or buy the Full Suite Pass bundle (get access to all past and future tools) in one go!

I have been dogfooding these tools across my own projects for a long time, and I hope they make your codebase calmer, cleaner, and harder to accidentally sabotage at 2am.

Updated 1 day ago
StatusReleased
CategoryTool
Rating
Rated 5.0 out of 5 stars
(1 total ratings)
AuthorRefresherTowel
Made withGameMaker
Tagsdebug, game-development, GameMaker, gml, library, logger, logging, sourcecode, tool, utility
LinksGitHub

Purchase

Get this tool and 3 more for $29.99 USD
View bundle
Buy Now$4.99 USD or more

In order to download this tool you must purchase it at or above the minimum price of $4.99 USD. You will get access to the following files:

Echo v2.2.0 150 kB
Echo v2.1.0 137 kB
Echo v1.0.0 5.5 kB
Echo v2.2.1 152 kB
Echo v2.2.5 164 kB
Echo v2.2.7 165 kB

Development log