Skip to content

How it fits together

Patter is a small family of tools around one idea: author a story as plain files, compile it to one portable bundle, and play that bundle identically on any engine. This page shows how the pieces connect, so the rest of the docs make sense in context.

Writers author a project in Patterpad; the patter CLI (or Patterpad's own Build menu) compiles the project into one .patterc bundle; a Patterplay runtime loads and plays that bundle, identically in JavaScript, Unity, Unreal, and Godot. Patterpad the editor author Project on disk text files, in your VCS patter CLI compiles build .patterc load Patterplay JS / Web Unity Unreal Godot identical in every engine One shared core underneath, so a story plays the same way in every engine.
  1. Writers author in Patterpad. The project is just a folder of plain-text files (scenes, strings, and their notes) that live in your version control alongside the rest of the game.
  2. A build compiles the project to one .patterc bundle: a single file, the only thing you ship. The patter CLI does this from the terminal (handy for automation), and Patterpad’s own Build menu runs the exact same compile.
  3. A Patterplay runtime loads the bundle and plays it. There’s one for each engine (JavaScript, Unity, Unreal, Godot), and they all play a story the same way, so what your writers saw in Patterpad is what your players get.

Because Patterpad and the CLI share one engine underneath, what you write, what you automate, and what finally runs in your game never drift apart.

ComponentWho it’s forWhat it is
PatterpadWriters + the project leadThe desktop editor: a screenplay-style writing surface, live validation, an in-app play window, review/comments, status tracking, localisation, and all project settings. Tour it →
The Patter formatTooling authors + the curiousThe on-disk project (text shards in your VCS) and the compiled .patterc bundle you ship. Read it →
PatterplayGame developersThe runtime family: one native player per engine (JS, Unity, Unreal, Godot), each verified against the shared corpus. Integrate it →
The patter CLIDevelopers + CIThe same operations the editor runs, from the terminal: validate, format, compile, play, report, localisation export/import. Automate it →

Under the hood, all of these sit on one shared core (the model, the compiler, and a single operations layer), which is why they can’t drift, but you never have to think about those internals to use Patter.

The docs are organised by what you’re trying to do:

  • You write the story. Live in Writing in Patterpad.
  • You set the project up for the writers. See Setting up a project: properties, game data, cast, languages, version control, and building.
  • You run the narrative effort. See Running the project: tracking progress, reviewing, and handing work to producers, translators, and voice actors.
  • You put the story in a game. See Playing in your game: a quickstart for each engine plus the runtime API.

Everyone shares one vocabulary: the Core concepts primer.

MIT-licensed open source · Made by · patterkit.com