Open narrative toolkit

Write it, play it, test it, ship it.

Patter takes the whole dialogue and branching-narrative layer off your plate. Your writers author in a calm, code-free editor. You drop one small file into your game and play it: the same story, on Unity, Unreal, Godot, or the web.

MIT-licensed & free · no server · no lock-in · no telemetry

Patterpad · the-patter-tour.patter
Patterpad editor showing a screenplay-style script with an inspector panel
Plays in your engine
one .patterc bundle
JavaScript Unity Unreal Godot

One story. Every engine. Tested to match.

Pick the runtime for the engine you actually ship on. What plays in the editor plays in your build: choices, conditions, save/load, right down to the random draws.

JavaScript
Unity
Unreal
Godot
For your writers

A screenplay, not a scripting language.

No markup to memorise, no node graph to untangle. Writers work on a surface they already know: character cues, lines, directions. They are productive on day one.

  • Logic made easy. Conditions and variables are edited with a guided editor, kept clear from the actual writing.
  • See it the way the player will. A live play window walks the real story as you write, so you pick choices and watch it branch. No compile-and-guess loop.
  • One tool for the whole job. Review comments, draft status, translation and voice-recording scripts are all built in, not scattered across a doc, a spreadsheet and a tracker.
Tour Patterpad →
The Crossroads scene · 3 blocks

A soft chime. A warm, paper-coloured room assembles itself around you.

GuideHello! Welcome to Patter. I'm your guide for this little tour. GuideSo, where would you like to start?
if visits(The Crossroads) == 1
edited in a side panel
GuidePick anything; I'll bring you right back here afterwards.
Lines, narration & directions ↪ jump
Why teams reach for it

Indie-first, built to scale up.

A whole team's edits that combine instead of colliding, and production tooling that catches problems before your players do.

Files you own, in your VCS

Plain text on disk (scenes, strings, and their notes) living in git or Perforce. No database, no server, no export step to get your data out.

Merges by structure, not line

A whole writing team's edits combine instead of clashing. Patter respects your locks and merges by structure, so growing the team doesn't turn into merge hell.

Catch dead branches early

Coverage testing walks the flow thousands of times and flags every beat a player can never reach. Narrative QA you can fail a build on, in CI rather than in a bug report.

Localisation & captions

Two modes, live language switch, and player-toggle caption cues. Built in, not bolted on.

Save & load, one call

Position, state, visit counts, and the random draws: restored exactly, through a single call.

Automatable from CI

The patter CLI validates, compiles and plays, so you can gate a PR on it.

Share with anyone

Send a stakeholder one playable HTML file, or a readable PDF screenplay. One click.

See the full comparison with Ink, Yarn & articy →

The reason Patter exists

Every line has a permanent id, so translation and voice just fall out of the model.

Patter's deals in complete identified lines, not fragments of text. A translation is that line in another language; an audio take is that line's recording.
Natively part of the format.

a stable id per line recording status & scratch takes live production stats

Take the dialogue layer off your backlog.

Open the interactive tour as a playable Patter story, or drop the runtime into your engine today. It's open source, MIT-licensed, and free.