# Yarn Spinner for Unity: the dialogue engine half that lives in your project

> YarnSpinner-Unity is the official Unity integration for Yarn Spinner, an MIT licensed package named dev.yarnspinner.unity that lets writers author conversations in a screenplay-like script and programmers receive lines, options and commands at runtime. It suits a Unity team splitting writing and code between different people, and it is a poor fit if you want a free plugin with no vendor behind it or a dialogue system you can drop into any engine.

**YarnSpinnerTool/YarnSpinner-Unity** — The official Unity integration for Yarn Spinner, the friendly dialogue tool.

- Repository: https://github.com/YarnSpinnerTool/YarnSpinner-Unity
- Stars: 844 · Forks: 129
- Language: C#
- License: MIT
- Published: 2026-10-20 · Updated: 2026-10-20 · Language: en
- Canonical page: https://hysenlabs.com/projects/yarnspinnertool-yarnspinner-unity

## Two repositories, one dialogue engine

The first structural fact to understand is that Yarn Spinner is split in two, and this repository is one half.

The README says plainly that this repo contains the Unity integration, and that the core Yarn Spinner compiler can be found in its own repository. The compiler is the part that turns a dialogue script into something a runtime can execute, and the integration is the part that speaks to Unity: the components you attach to a scene, the way a line reaches a text box, the way a choice comes back as an answer.

That split is not an implementation detail to ignore, because it shapes every part of adoption. The compiler is the part with its own language, its own syntax highlighting and its own editor support, and it is the part that will evolve fastest. The Unity integration is the part that has to keep pace with Unity's own release cycle, and the package manifest in the repository declares the Unity version it targets.

The result is a package that is small in code but load bearing in a project. A Unity team that adopts it is adopting a dialogue system, not a utility.

Yarn Spinner itself is described as the friendly tool for writing dialogue in games, easy for writers to use, with powerful features for programmers. The project is MIT licensed, the primary language is C#, the last push to the repository was on 2026-10-13, and the recent release tags are v3.2.8 on 2026-08-11, v3.2.7 on 2026-07-04 and v3.2.6 on 2026-07-03.

## Your game receives lines, options and commands

The runtime contract is described in one sentence in the README, and it is the interface your programmers write against.

When a conversation is running, Yarn Spinner sends your game lines of dialogue to show, options to let the player choose from, and commands to make things happen in your scene.

Three channels, three different jobs. Lines are content, options are branching, and commands are the escape hatch that lets a line of dialogue do something in the scene, such as moving a character or playing a sound.

The important thing about this split is who owns what. The writer owns the script, and within it the lines, the options and the commands. The programmer owns the scene, and provides the code that reacts to what arrives. Neither side has to understand the other's half in detail, which is what makes the tool work for a team where the person writing dialogue is not the person writing the interaction system.

The script format is described as a simple, screenplay-like syntax that is loaded into your game and run, and the Yarn Spinner package description in the repository makes the same point in the other direction: a simple programming language designed to be straightforward for writers and powerful for programmers, which you then attach to your scenes to power your conversations.

That attachment is the integration work. The scenes in the repository's Prefabs directory are the shipped pieces, and the Runtime directory holds the components a scene uses, so the setup is a matter of putting a Yarn Spinner object into the scene and wiring it to the prefabs and your own dialogue UI.

## Three ways to get it, and the paid one funds the project

The installation advice in the README is where the commercial model is stated, so it is worth reading exactly.

There are three routes. Buy a copy for Unity from the Yarn Spinner Itch.io store or from the Unity Asset Store, or check out the Yarn Spinner documentation to install from Git.

The tip that contains this also says to get Yarn Spinner, and support the team behind it, buy a copy for Unity. So the pricing is not hidden: a commercial copy is available and the money supports the team, while the MIT licensed source is available through the documentation's from Git route.

The package is distributed through several channels at once, which is normal for a Unity tool. There is an OpenUPM badge for the npm package dev.yarnspinner.unity, which is how Unity package managers consume it, and there is a separate copy for each store. The package manifest in the repository also carries metadata fields that Unity surfaces in the package manager UI, including a display name of Yarn Spinner, a description, the documentation URL, the changelog URL and the licences URL, and it declares the type as tool.

For a team deciding between channels, the practical differences are the update mechanism and the support arrangement rather than the code. Buying from a store gives a version that updates through the store, and installing from Git gives you the repository, which is where the community and the issues live.

Either way, the actual documentation is not in this repository. The Getting Started section says installation instructions, documentation, tutorials and additional information are available in the Yarn Spinner documentation, and links to docs.yarnspinner.dev.

## The package manifest tells you what the integration needs

The package.json in the repository root is short, and it is the clearest statement of what this integration is and is not.

```json
  "name": "dev.yarnspinner.unity",
  "version": "3.2.8",
  "displayName": "Yarn Spinner",
  "unity": "2022.3",
  "dependencies": {},
```

The empty dependencies object is the notable line. A Unity package that pulls in third party runtime dependencies is a package that can break when a dependency changes, so the fact that this one declares none means the integration ships with what it needs and the compiler comes from elsewhere, at build time, rather than at runtime.

The unity field says 2022.3, which is the Unity version the package is built against. That is the compatibility check to make first, because a package targeting a specific editor line will refuse to load cleanly in a different one, and because the 2022.3 line is a long term support release rather than the newest editor.

The author is Yarn Spinner Pty Ltd, and the version in the manifest, 3.2.8, matches the newest release tag in the release list. That consistency is worth a moment's attention, because a mismatch between the manifest version and the tag is a common sign that you are looking at a working tree rather than a published package. Here they agree, so the repository root is a clean 3.2.8 state.

The keyword list is Dialogue and Yarn, and the description in the manifest is the same one line summary you would read in the package manager, which tells you the intended audience is a developer who has not yet used Yarn Spinner.

## A source generator ships inside the package

The repository layout contains a directory called SourceGenerator, and that is the one entry that deserves an explanation rather than a mention, because it says something about the workflow.

The rest of the tree follows the standard Unity package shape. Runtime holds the scripts that run in a built game, Editor holds the scripts that only exist inside the Unity editor, Prefabs holds the ready made scene objects, and Tests holds the test assemblies. Each of those directories comes with a .meta file, as do the markdown files such as CHANGELOG.md, CONTRIBUTING.md, CODE_OF_CONDUCT.md and CONTRIBUTORS.md, which is the Unity convention for tracking assets and import settings in version control.

The SourceGenerator directory is the interesting one. A source generator in this context is code that runs as part of the build and produces C# source files from your dialogue scripts, rather than shipping the scripts as data files that are parsed at runtime.

The difference shows up in how the integration feels in the editor. With generated code, the dialogue script can be compiled into a form the Unity editor understands, which is what enables the kind of authoring support a programmer would expect, such as being able to see the structure of a conversation in the inspector rather than as an opaque text asset. It also means errors in a script can surface at compile time.

There is a trade-off. Generated code is faster and more integrated at runtime, but it adds a build step and it means the source generator has to keep pace with the Unity version, which is one more thing to watch when the package updates.

The Tests directory and the .editorconfig file are the other two signals about how the project is run. Tests in the package itself mean changes to the integration are checked, and a shared editorconfig means the code style is enforced across contributors.

## Used in shipped games, maintained by a studio with public funding

The list of games that have used Yarn Spinner is the strongest evidence in the README, and it is a specific list rather than a vague claim.

The names given are Night in the Woods, A Short Hike, Lost in Random, Dredge, Frog Detective, Button City, Escape Academy, Baladins and Unbeatable. These are commercial and independently published games across different genres and different budgets, and they span years, which suggests the tool has been stable enough to build on.

The provenance is also worth knowing. Yarn Spinner is developed by Secret Lab, along with a huge community of contributors, and the logo was made by Cecile Richard. There is a Yarn Spinner Discord for help, support, discussion and, in the project's phrase, chill community times.

The funding acknowledgements are unusual for a game tool and are stated plainly. The project has been assisted by the Australian Government through the Australia Council, its arts funding and advisory body, and Yarn Spinner's development is made possible in part by NYU Game Center. For a tool aimed at narrative games, that is a coherent funding story, and it also tells you something about the long term shape of the project: the core is maintained by a studio with institutional support rather than by whoever happens to have a weekend.

The repository also has an issues repository on GitHub for problems being solved and features being considered, and a CONTRIBUTING.md for code contributions, and the project is open to help that is not code, such as promotion, ideas or documentation.

## Conclusion

YarnSpinner-Unity suits a Unity team where writers own the dialogue and programmers own the scene logic, because the split is the whole point: a writer edits a script, a programmer attaches it to a scene, and the runtime hands back lines, options and commands. It does not suit a team that wants a self contained dialogue editor bundled with the plugin, since the compiler lives in a separate repository and the editor is a separate product, and it does not suit anyone unwilling to accept a dependency with a commercial arm. Before you commit, read the documentation at docs.yarnspinner.dev for the current install path, check that your Unity version is 2022.3 or the 2022.3 line the package declares, and read Third-Party Notices.txt, since the package ships one, and note that the last push to the repository was on 2026-10-13 with the newest release tag v3.2.8 from 2026-08-11.

## FAQ

### What does Yarn Spinner for Unity do?

It is the official Unity integration for Yarn Spinner, a dialogue system where conversations are written in a simple screenplay-like format. While a conversation runs, it sends your game lines of dialogue to show, options for the player to choose from, and commands to make things happen in the scene.

### Where do I download Yarn Spinner for Unity?

You can buy a copy from the Yarn Spinner Itch.io store or the Unity Asset Store, or follow the Yarn Spinner documentation at docs.yarnspinner.dev to install from Git. The package is also published on OpenUPM as dev.yarnspinner.unity.

### What is the difference between this repository and the Yarn Spinner compiler?

This repository contains the Unity integration, while the core Yarn Spinner compiler lives in its own repository. The integration is the part that attaches to your scenes and delivers lines, options and commands to your game.

### Which Unity version does Yarn Spinner for Unity target?

The package manifest declares the unity field as 2022.3, with the package version at 3.2.8, and the dependency list is empty. The newest release tag in the repository is v3.2.8 from 2026-08-11.

### Which games have used Yarn Spinner?

The README names Night in the Woods, A Short Hike, Lost in Random, Dredge, Frog Detective, Button City, Escape Academy, Baladins and Unbeatable, and describes Yarn Spinner as having been used in thousands of games.

## Sources

- [Issues](https://github.com/YarnSpinnerTool/YarnSpinner-Unity/issues)
- [License: MIT](https://github.com/YarnSpinnerTool/YarnSpinner-Unity/blob/main/LICENSE)
- [README](https://github.com/YarnSpinnerTool/YarnSpinner-Unity/blob/main/README.md)
- [Releases](https://github.com/YarnSpinnerTool/YarnSpinner-Unity/releases)
- [YarnSpinnerTool/YarnSpinner-Unity on GitHub](https://github.com/YarnSpinnerTool/YarnSpinner-Unity)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/yarnspinnertool-yarnspinner-unity
