Crash and error reports
Reports with the same exception and stack are one group. Set the build that fixes it, and a report from a newer build marks the group as regressed. An alert fires when errors per active player go up.
For other studios
Every game I've shipped since 2016 talks to the same backend. I call it the GDT. It runs in your Google Cloud project, on your bill, with your players' data in your account. I set it up with you.
Every studio I talk to has the same story. You build your game around a hosted service, and two years later it's closed, repriced, or rebuilt around a new SDK. That happens while you're busy with the next game, and the old one still has players.
The GDT runs in your own project. The data is in your account, you have the source, and no feature disappears unless you remove it. The URLs and the JSON haven't changed since 2016: a Switch build of Crash Drive 3 from 2021 that will never get another update talks to the C# server exactly the way it talked to the PHP one.
If I host it for you, it runs on the same setup as my own games, and I keep that running for them anyway. You can still move it into your own project whenever you want. It's the same software either way.
Reports with the same exception and stack are one group. Set the build that fixes it, and a report from a newer build marks the group as regressed. An alert fires when errors per active player go up.
New and active players, retention, session length and funnels, per platform and build. A wizard writes the Unity call for the question you have, so nobody has to remember the event format.
Typed settings per platform, build and language, with a history of who changed what. Feature flags for a percentage of players, and events on a calendar.
Steam, Epic, Windows Store and PlayStation sign-ins checked on the server and tied to one player across all your games, with a timeline, Steam checks and bans per game or everywhere.
Calls, storage and an estimate in euros per day, per game. Daily limits stop a broken client from running up the bill, and one click sets a Discord alert for when the calls double.
Where players crash, die or quit, per map. Positions are summed per cell on the client and per day on the server, so the bill stays flat.
Short links that count clicks, and because the game reports back, how many of those clicks became players.
One button starts a build on your build PC, the result lands on a Steam branch, another button makes it public. Every step is timed, so you see what made a build slow.
Every Steam review lands in a channel with the reviewer’s playtime. Sales milestones, crash spikes and new builds go there too.
Per game, pick which uploads are stored and how long each kind stays. Cloud saves can be put back, and a privacy request is an export or a delete.
One friends list for players on Steam, consoles and mobile. Photon webhooks tell the backend who is online and in which room, and players invite each other across platforms. It’s built so that every online player can poll it all day for almost nothing.
A player signs in with Steam, links Discord and joins your server. The backend checks they own your earlier game and played it long enough, and that they’re 18 or older. They sign the NDA on Dropbox Sign, the server finds the signed contract, gives the Discord tester role and hands out a Steam key. Invite-only works too, and every contract is kept.
In your own Google Cloud project. You get the server, the Unity package and the docs, and the source to change what you need. I do the setup with you, so someone on your team knows how it fits together without calling me.
Hosted by me. For a studio that doesn't want to look after a cloud project. Your games run next to mine, on the setup I keep running for my own games, and the price covers the cost, so there's no reason for it to go away. You keep the admin.
Either way you get a fixed price, agreed up front. Mail me what you're making and on which platforms, and I'll tell you what it costs.
There's a demo admin with four example games in it. Mail me and I'll give you a login, or we look at it together on a call.