Data-Driven Game Design with Charon
Every game team hits the wall eventually.
It starts small — a spreadsheet for item stats, another for enemy data, a few config files for quests. Then the game grows. Tabs multiply. Formulas break silently. A programmer renames a constant and three designer files now reference something that doesn’t exist. A localization request arrives and no one knows where all the strings actually live.
This is the spreadsheet ceiling — and most teams don’t realize they’ve hit it until something breaks in production.
Charon exists to push that ceiling out of your way.
What is Data-Driven Game Design?
Data-driven game design means your game’s content lives in structured, validated data — not in source code, not in spreadsheets, not in a programmer’s head. Designers define what a quest looks like. Programmers consume it through generated, type-safe code. The pipeline enforces that they stay in sync.
When it works:
A designer changes a boss’s phase thresholds without filing a ticket
Deleting a deprecated item immediately surfaces every quest that still references it
Adding a language is a data task, not a code task
Game balance is version-controlled, diff-able, and rollback-able
Charon is the tool that makes this practical. It gives your team a shared language between design and engineering — a structured database, a visual editor, and a code generator that keeps both sides moving independently.
TLDR: Charon is an in-game database for your game. It replaces spreadsheets and config files with a validated, schema-driven data layer that generates ready-to-use code for your engine.
Who Is This For?
- Game Designers
You get a real editor — schemas you define, forms that match your data, and validation that catches mistakes before the next build does. No more pasting values into cells and hoping the formula still works.
- Programmers
You get generated, type-safe classes for your data. Instead of parsing raw JSON and casting strings, you write
gameData.Heroes.Find("Arbalest").Stats.Hpwith full IDE autocomplete. The loading, validation, and localization plumbing is already handled.- Technical Leads
You get a pipeline. Charon has a CLI, a REST API, and CI/CD hooks. Validate data on every commit. Diff game data between versions. Patch live data without a full rebuild. Distribute the editor with your game for community modding.
Deployment Options
Charon adapts to your workflow, not the other way around:
Unity Plugin — edit game data directly inside the Unity editor
Unreal Engine Plugin — native integration with the Unreal content pipeline
Standalone App — run the editor locally for any engine (C#, TypeScript, Haxe)
Web / Cloud Edition — collaborative editing for distributed teams
Is It Free?
The offline CLI, standalone app, and engine plugins are completely free with no usage restrictions. They are open-licensed and can be bundled with your shipped game — so your players can build mods using the same tools you used to build the game.
The online collaborative edition, which enables shared editing across large teams with cloud hosting, requires a subscription.
Further Reading
Unreal Engine Quick Start
Unity Quick Start
Standalone Quick Start
Web / Cloud Edition
Server Edition
Data Modeling
Source Code Generation
Data Workflows
Integration & Automation
- Command Line Interface (CLI)
- Apply Patch (Merge)
- Create Backup
- Create Document
- Create Patch (Diff)
- Delete Document
- Export Data
- Find Document
- Add Translation Languages
- Export Translated Data
- Importing Translated Data
- List Translation Languages
- Import Data
- List Documents
- Restore from Backup
- Update Document
- Validate Game Data
- Generate C# Source Code
- Generate Haxe Source Code
- Export Code Generation Templates (Obsolete)
- Generate Text from Templates (Obsolete)
- Generate TypeScript Source Code
- Generate Unreal Engine C++ Source Code
- Initialize Game Data
- URL input/output parameters
- Start in Standalone Mode
- Universal parameters
- Environment variables
- Get Charon Version
- Game Data Structure
- Formula Expression AST
- REST API
Extending Charon
Configuration & Troubleshooting
CLI Command Reference
- Apply Patch (Merge)
- Create Backup
- Create Document
- Create Patch (Diff)
- Delete Document
- Export Data
- Find Document
- Add Translation Languages
- Export Translated Data
- Importing Translated Data
- List Translation Languages
- Import Data
- List Documents
- Restore from Backup
- Update Document
- Validate Game Data
- Generate C# Source Code
- Generate Haxe Source Code
- Export Code Generation Templates (Obsolete)
- Generate Text from Templates (Obsolete)
- Generate TypeScript Source Code
- Generate Unreal Engine C++ Source Code
- Initialize Game Data
- URL input/output parameters
- Start in Standalone Mode
- Universal parameters
- Environment variables
- Get Charon Version
Reference