Stoatly mascot

Game data management for studios

Your game data deserves a real interface.

Designers model objects, edit records, write formulas and chart the results. Every change leaves as a pull request on your GitHub repo, with typed C# generated for Unity. Nothing leaves the pipeline you already have.

No AI, by design.

app.stoatly.io/dashboard
Stoatly Data dashboard listing studio projectsStoatly Data dashboard listing studio projects

Schema

Objects, fields, enums, inheritance and validation, defined in the UI rather than in a spreadsheet.

Review

Every edit is a draft until it is submitted, reviewed and merged as JSON in your own repo.

Unity

Strongly-typed C# on every sync. Removed fields are deprecated, never silently dropped.

Product tour

Four steps, one workspace.

Model the shape of your game, fill it with records, derive the numbers you cannot hand-author, then ship the whole thing through review.

01

Model the world

A schema map that reads like a design doc

Characters, items, weapons, armour. See every object, its fields and its types at once, with inheritance and references drawn between them. Drafts are marked before they exist in your repo.

inheritance · references · draft state

Schema map showing Character, Item, Armor and Weapon objectsSchema map showing Character, Item, Armor and Weapon objects

Fields, types and constraints without a migration

Add a field, pick a type, set a parent, group what belongs together. Inherited fields stay visible and labelled, so a designer can see where a value came from before they change it.

text · number · boolean · enum · reference

Object editor showing Weapon fields, keys and typesObject editor showing Weapon fields, keys and types
02

Fill it with records

Know what is live and what is not

Records carry their state on the front: live, in a PR, changed and pending, or still a draft. Filter to any of them, search across the set, or flip to a table when you want to balance a whole object at once.

live · in PR · changes pending · draft

Weapon record list with state filters and searchWeapon record list with state filters and search

One record, every field, typed

Numbers get number inputs, enums get the values you defined, booleans get a checkbox. Inherited values are tagged as inherited. Nothing saves until it is a draft you meant to keep.

weapon.records.frostbrand

Record editor for the Frostbrand weaponRecord editor for the Frostbrand weapon
03

Derive and see the numbers

Formulas that show their working

Write an expression as text or as blocks, and see it evaluated against a real record while you type. Stoatly reads the formula back in plain English and checks the result type before it is saved.

round(clamp(damage * ... , 1, 999))

Formula editor for a Power Budget formula with a live resultFormula editor for a Power Budget formula with a live result

Balance you can look at

Plot one field against another, set the outlier rule, and the weapons that cost more than they hit for stand out immediately. The chart is saved with the object, so the next designer sees the same view.

scatter · trend residual · 2σ outliers

Visual editor plotting weapon damage against valueVisual editor plotting weapon damage against value
04

Ship it like code

Pull requests, not exports

Pending changes collect per object until a designer submits them. Stoatly opens a real pull request on your repo, links straight to GitHub, and merges the data in as JSON your build already knows how to read.

#42 · Weapon rebalance: tier 2 pass

Pull request list with pending changes per objectPull request list with pending changes per object

And typed C# on the other side

Your schema generates Unity-ready classes on every sync, so a renamed field is a compile error rather than a null at runtime.

// generated from weapon.schema
public class Weapon : Item {
  public float Damage;
  public float AttackSpeed;
  public bool TwoHanded;
  public WeaponElement Element;
}

Pricing

Simple plans that scale with your studio.

Lite

£9/mo

For solo devs and small teams.

  • 1 seat
  • Up to 3 projects
  • Production environment only
  • 30-day history
Get started

Extra seats available at £5 a month.

FAQ

The questions studios ask first.

Where does the data actually live?

In your GitHub repository, as JSON. Stoatly is the interface on top of it, not the system of record.

Do we have to change our workflow?

No. Changes arrive as ordinary pull requests, so your branch protection, reviewers and CI all keep working as they do today.

What does Unity get?

Strongly-typed C# classes generated from your schema on every sync. Removed fields are deprecated rather than dropped, so nothing breaks silently.

Is anything generated by AI?

No. Formulas, schema and records are all authored by your team. Nothing is guessed on your behalf.

Can designers break the schema?

Edits stay as drafts until they are submitted, and every submission goes through review before it merges. The audit trail records who changed what.

What if we leave?

You keep everything. The data is already in your repo in a format you can read without us.

Build worlds. We'll handle the rest.

Start with one project and your existing repo. Nothing to migrate.