# YarnSpinnerTool/YarnSpinner

The core compiler and engine-agnostic components for Yarn Spinner, the friendly dialogue tool.

Repository: https://github.com/YarnSpinnerTool/YarnSpinner
Canonical: https://ross.abutalabs.com/products/yarnspinner
Homepage: https://yarnspinner.dev
Language: C#
License: MIT
License Family: permissive
Topics: unity-game, unity, game, language, dialogue-manager, game-development, gamedev, unity3d, dialogue, dialogue-system, dialogue-systems
Last push: 2026-08-11T02:36:15+00:00

## Health v2 (maintenance only)
Score: 84/100 (v2, computed 2026-09-03T02:39:23.370411+00:00)
- activity 97, release rhythm 58, longevity 100
- inputs: {"age_days": 3987, "days_push": 23, "days_rel": 121, "gap_med": 115, "n_releases_24m": 6}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2832, forks 230 (observed 2026-08-28T04:07:24.402025+00:00)

## What it is
Yarn Spinner is the core compiler and engine-agnostic runtime for the Yarn dialogue language, a screenplay-like format for writing interactive conversations in games. This repository contains the C# source for compiling Yarn scripts and running dialogue, which engine-specific packages like Yarn Spinner for Unity build upon.

## Use cases
- add branching dialogue to a video game
- compile yarn dialogue scripts into a runnable program
- write interactive conversations in a screenplay-like format
- build a custom dialogue system for a game engine
- localize and export game dialogue strings
- run dialogue lines, options, and commands from a narrative script

## When to choose
- you need a proven, writer-friendly dialogue system for a game (used by Night in the Woods, DREDGE, A Short Hike)
- you want an engine-agnostic dialogue compiler/runtime to integrate into Unity, Godot, Unreal, or a custom engine
- you need branching narrative with localization support and a simple scripting language

## When to avoid
- you need a ready-made Unity/Godot/Unreal integration - use the official engine packages instead of this core repo
- you need a visual dialogue editor rather than a text-based scripting language
- your project is not C# or cannot bind to a C# library

## Facets
- artifact type: library
- maturity: stable
- function: parser, interpreter, programming-language, sdk, plugin-system
- domain: programming-languages, parsers
- platform: c, cross-platform, game-engine
- tags: dialogue-system, interactive-narrative, yarn-language, compiler, game-dialogue, branching-narrative, engine-agnostic, game-development, localization

## Member repositories
- YarnSpinnerTool/YarnSpinner (main) score 84

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:07:24.402025+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T07:38:08.051239+00:00, confidence not recorded.
  - readme: https://github.com/YarnSpinnerTool/YarnSpinner (fetched 2026-08-28T04:07:24.402025+00:00, sha c865a91f3ec1)
  - homepage: https://yarnspinner.dev (fetched 2026-08-29T09:53:19.132761+00:00, sha 85a8d24d14d7)
  - site_page: https://yarnspinner.dev/features (fetched 2026-08-29T09:53:19.141845+00:00, sha 9797a14746ac)
  - site_page: https://yarnspinner.dev/about (fetched 2026-08-29T09:53:19.143680+00:00, sha 86c5b3b741ab)
  - site_page: https://docs.yarnspinner.dev (fetched 2026-08-29T09:53:19.145228+00:00, sha 3faf2731cc01)
  - site_page: https://yarnspinner.dev/install (fetched 2026-08-29T09:53:19.146665+00:00, sha fdb8c2e0aaea)
  - site_page: https://yarnspinner.dev/showcase/parking-lots (fetched 2026-08-29T09:53:19.148246+00:00, sha fbf6a660481f)
  - site_page: https://yarnspinner.dev/tell-us (fetched 2026-08-29T09:53:19.149726+00:00, sha 06ce3afce511)
- Data as of 2026-08-30T08:39:29.467469+00:00.
