Game telemetry · by indie.io

You shipped. Now see them play.

One config line and your game starts reporting — sessions, performance, progression, crashes. No init code, no rigid schemas. And if you build with an AI agent, it can set up the whole thing for you.

  • About ten minutes to install
  • Godot 4.x & Unity 2021.3+
  • Never blocks or stalls your game
  • Anonymous by design — no PII

The silence after launch

Shipping blind is the default. It shouldn’t be.

Every dev knows the feeling: the build is out, reviews trickle in, and the real questions stay unanswered. Where do players quit the tutorial? How long is a first session? Does the optional content ever get found?

gameglow is game telemetry that answers the questions you act on — no data team, no SDK sprint, no analytics tool that needs its own analytics.

How it works

Three steps to live telemetry

1

Create your game

Sign in with Google, GitHub, or Discord and grab your key — one string that carries the game id and credential together.

gg1.<game-id>.<key>
2

Paste it and press Play

Unity: one manifest line and one settings asset — no init code, no scene objects. Godot: one line in your project config.

[gameglow] api_key="gg1.…"
3

Watch real players

Sessions, performance, and progression start flowing the moment your game runs. Custom events are additive — not required.

▸ session_start ▸ heartbeat fps_avg=59.8

Zero-code baseline

Telemetry that starts before you write a line

The SDK auto-collects a full day-one picture with zero track() calls. When you want more, the API is one-liners with full params objects — no rigid typed events, no one-numeric-value limits.

  • Session start / end with 60-second heartbeats — crash-robust playtime
  • Performance per heartbeat: FPS average, 1% lows, frame-time p99, hitches, memory
  • Crash detection, cold-start timing, engaged-vs-idle input
  • Platform, OS, engine version, locale, and hardware class — never device serials

The SDK never crashes, blocks, or stalls your game — every failure degrades to dropped telemetry. Offline events queue to memory and disk, replay next launch, and the server dedupes so retries are always safe.

Unity — custom events when you want them
Gameglow.Progression("tutorial/first_wisp", "complete");
Gameglow.ZoneEnter("level_2");
Gameglow.Timing("boss_fight", 34.2);
Gameglow.Track("secret_found",
    new Dictionary<string, object> { { "secret_id", "hidden_room" } });
Godot — same shape
Gameglow.track("secret_found", {"secret_id": "hidden_room"})
Gameglow.progression("tutorial/first_wisp", "complete")
Gameglow.zone_enter("level_2")
Gameglow.timing("boss_fight", 34.2, {"boss": "final_boss"})

What you see

Powerful where it counts. Simple everywhere else.

The dashboard answers the questions a live game forces on you — and skips the mobile-ads noise that doesn’t apply to premium indie games.

Retention & sessions

D1/D7 retention by cohort, DAU, session-length buckets, and an honest "engaged" median that excludes sub-60-second bounces — with the bounce share shown right beside it.

Funnels that build themselves

Progression funnels auto-derive from your progression events — per-stage completion, starts, fails, and median time-to-complete. No manual funnel definitions.

Zones & player flows

Visits, unique players, median visit length, and total time per zone — see where players linger and where they leave.

Performance regressions

Per-day FPS and hitch series with per-version comparison, so a bad build shows up before the reviews do. Chart gaps render as gaps — never as fake zeros.

Raw events & query

Browse raw events with param filters, run aggregate queries (count, unique players, sum, avg, median) grouped by day, name, platform, version, or any param — and export CSV.

Tracked intelligence

Eight deterministic insight rules sweep daily — bounce shifts, funnel decay, crash clusters, retention breaks — each with the evidence numbers embedded and a suggested action. No ML, no hallucinated insights.

Agent-native

Your AI agent can do the whole integration

gameglow ships a full MCP server. Connect Claude — or any MCP-compatible agent — with one command, and it can create your game, mint the key, write your engine config, instrument key moments, and loop the integration check until everything is green. Nothing to click.

Connect your agent — one command
claude mcp add --transport http gameglow \
  https://app.gameglow.io/mcp \
  --header "Authorization: Bearer <token>"

No agent? The manual path is the same ten minutes — paste-ready docs, pre-filled with your real ids and key. llms.txt

  • 15 MCP tools cover the whole lifecycle — create_game, mint_api_key, get_sdk_config, integration_check, run_query, get_insights, and more
  • Events instrumented by an agent show up marked ✨ discovered by agent — before any data arrives
  • Setup wizard steps complete themselves as the agent works
  • llms.txt served unauthenticated, so agents can read the docs without a login

Trust & privacy

Player analytics without player tracking

Every install gets an anonymous UUID — that’s the whole identity model. Input tracking is a per-minute yes/no: never which keys, never where.

  • No device serials or advertising IDs
  • No IP retention, no location
  • No player accounts, no PII
  • Player opt-out — immediate, persisted, clears the queue
  • Consent-first mode — SDK fully dormant until players agree
  • Self-serve GDPR erasure, no support ticket required

Start free

A free tier without feature gates

Every tier gets unlimited games and seats, every MCP tool, exports, and the full dashboard. The monthly event cap is the only boundary — and hitting it never locks you out of your data.

1M+free events every month
90 daysdata retention on free
0feature gates, on any tier
100%of your dashboard stays live at cap

At the cap, ingest pauses but reads never stop — your dashboard, queries, exports, and MCP tools all stay live. Overage is opt-in and hard-bounded: no surprise bills.

Built for indie games

Deliberately not mobile-ads analytics

gameglow is built for premium indie games, desktop and Steam first. That focus is a feature:

  • Full params object on every event — no one-numeric-value limit
  • Funnels auto-derive from progression — no manual definitions
  • Session frequency (median gap between sessions) — a metric the incumbents lack
  • Sessions = process lifetime — alt-tabbing never splits a session
  • REST ingest for engines beyond Unity and Godot
  • No ARPDAU, LTV, or ad-revenue noise
  • No rigid three-slot progression hierarchies
  • No read lockouts when you hit a cap
  • No PII, ever

FAQ

Honest answers to the questions devs actually ask

How long does integration actually take?
About ten minutes. Unity is one manifest line plus one settings asset — press Play, no init code. Godot is one line in your project config. Docs are paste-ready and pre-filled with your real game ids and key.
Does gameglow work with my engine?
First-party SDKs cover Godot 4.x (GDScript addon) and Unity 2021.3+ (UPM package). Any other engine can use the plain HTTP ingest endpoint directly.
What do I get without writing any tracking code?
Session start and end, 60-second heartbeats with crash-robust playtime, FPS and frame-time performance metrics, crash detection, cold-start timing, engaged-vs-idle input, and platform context. Custom events are there when you want them — not required to get value.
Can my AI agent set this up?
Yes — that’s the headline feature. Connect via MCP with one command and the agent can create the game, mint the key, write your engine config, instrument events, and verify the integration end to end. There’s a manual path too, and it’s the same ten minutes.
What happens when I hit the free event cap?
Ingest pauses; your entire read surface stays live — dashboard, queries, exports, MCP tools. Never a read lockout. Overage is opt-in and hard-bounded, so there are no surprise bills.
Is player data private?
Anonymous per-install UUID only — no device serials, no advertising IDs, no IP retention, no location, no player accounts, no PII. Players can opt out instantly, you can run consent-first mode where nothing is collected until players agree, and GDPR erasure is self-serve.
Will the SDK ever hurt my game?
No. The SDK is built to never crash, block, or stall the game — every failure degrades to dropped telemetry. Offline events queue to memory and disk and replay safely next launch.

Your first session is ten minutes away