GameMaker SDK

Error tracking for GameMaker Games

Lightweight GML script that drops into any GameMaker Studio 2+ project. Crash reports, player feedback, and session data — all in one dashboard.

Sign up for free

Up and running in minutes

Add Bugnet to your GameMaker project with a few lines of GML. No extensions required.

BugnetSDK.gml
/// Create Event — persistent controller object
bugnet_init("YOUR_API_KEY", "https://api.bugnet.io");

/// Report a bug from your game
bugnet_report_bug(
    "Player fell through floor",
    "Happened on level 3 near the bridge",
    "gameplay",  // category
    "high"       // priority
);

/// Show the built-in report widget (Draw event)
bugnet_draw_widget();

/// Toggle widget with a key press (Step event)
if (keyboard_check_pressed(vk_f1)) {
    bugnet_show_widget();
}

/// Async HTTP event (required)
bugnet_async_http();

Everything you need, nothing you don't

Native GML Script

Pure GML. Drop into your scripts folder — no extensions or DLLs needed.

Automatic Crash Reports

Error messages with the current room, platform, and device info.

Screenshot Capture

One-call screenshot capture from any surface, attached to every report.

Session Replay

A timeline of the player's recent clicks, key presses, and mouse movement before the report (Studio Plus).

GameMaker Studio 2+ Ready

Native GML script for GameMaker Studio 2 and GameMaker 2024+. No extensions needed.

Cross-Platform

Windows, macOS, Linux, HTML5, and mobile. One script, every target GameMaker supports.

Three steps to fewer bugs

1

Install the script

Create a Script asset in GameMaker and add BugnetSDK.gml. Call bugnet_init() in a controller object's Create event and add your API key.

2

Players report bugs

Players submit bug reports directly from your game. Screenshots, device info, and session data are captured automatically.

3

You fix and ship

Triage reports in your Bugnet dashboard, assign priorities, and track fixes on a public bug tracker your players can follow.

“As a solo dev, players were leaving faster than I could read Discord. Bugnet showed me exactly which bugs were causing the most churn. I fixed the top three and my retention rate doubled in two weeks.”

SB
Sam Bell
Solo Dev, Echoes of the Rift
340+Studios
1.2M+Bug reports
38%Less churn

New to GameMaker or weighing your options? Read our in-depth GameMaker guide, or compare every major engine side by side in Best game engines for indie developers.

GameMaker bug reporting questions

How do I add Bugnet to a GameMaker project?

Run the installer from the folder with your .yyp file, or create a script named BugnetSDK and paste in BugnetSDK.gml. Call bugnet_init() with your API key from the Create event of a persistent controller object placed in your first room.

Why does the SDK need a controller object?

GameMaker has no background threads, so the SDK works through the events of one persistent object. Its Async - HTTP event must call bugnet_async_http(); without it, reports and uploads never complete. Draw GUI draws the report widget.

How are GameMaker errors captured?

Pass the exception from a try/catch block to bugnet_exception_handler(), or call bugnet_capture_error() with your own message and callstack. Each error is sent with the platform, OS and your game version, and identical errors are grouped so you can see how many players each one reaches.

Can players report bugs in-game?

Yes. The built-in widget lets players describe a problem and sends a screenshot with it, or you can file reports from your own menus with a single function call and attach a buffer or file such as a save game.

Is Bugnet free for GameMaker games?

The free plan includes up to 100 bug reports in total (a lifetime cap, not a monthly allowance), which is plenty to integrate the SDK and run a playtest. Paid plans raise the limits and add features such as session replay.

Start tracking errors in your GameMaker game

Join hundreds of indie studios using Bugnet to turn bug reports into player loyalty.