All pages
Powered by GitBook
1 of 3

Loading...

Loading...

Loading...

Yarn Projects

Learn about Yarn Projects, which group your scripts together for use in a Dialogue Runner.

A Yarn Project is a file that links multiple Yarn scripts together. Yarn projects are how Dialogue Runners work with your content.

Creating a New Yarn Project

To create a new Yarn Project, follow these steps:

  • Open the Assets menu, and choose Yarn Spinner -> Yarn Project.

  • Unity will create a new file. Type in a name for the file, and press return.

Creating a new Yarn script.

This new Yarn Project will be empty, and won't contain any references to other Yarn scripts yet.

Adding Yarn scripts to a Yarn Project

On their own, a Yarn Project doesn't do anything. In order to be useful, you need to add Yarn scripts to it.

When a Yarn Project has no scripts added to it, you'll see this warning in its Inspector.

To add Yarn scripts to a Yarn Project, follow these steps:

  • Select the Yarn Project in the Project Pane.

  • In the Inspector, open the Source Scripts property at the top of the pane.

  • Drag the Yarn script you want to add into the Source Scripts list.

  • Click Apply at the bottom of the pane.

Adding scripts to a Yarn Project.

Creating a Project from a Script

As an alternative to creating an empty project and adding scripts to it, you can create a new Yarn Project from a script. To do this, follow these steps:

  • Select the Yarn script in the Project pane.

  • In the Inspector, click the Create New Yarn Project button.

The 'Create New Yarn Project' button in the Inspector.
  • Clicking this button does two things:

    • A new Yarn Project will be created next to the Yarn script.

    • The new Yarn Project will be set up to include the Yarn script you created it from in its list of source scripts.

Managing Variables

A Yarn Project's inspector shows information about every variable that are used in the Yarn scripts. This section of the Inspector shows the name, type, description, and default value of each variable.

This information comes from the following locations:

  • All variables that have been declared in a Yarn script with a declare statement

  • All variables that have been manually added to this Yarn project

  • All variables that are used, but don't have a declare statement

Declaring a variable in a Yarn script by using a declare statement, or by manually adding it to the variables list, allows you to ensure that the variable is of the type you expect it to be, and that it has a description that explains the intended purpose of the variable.

If you don't declare a variable, Yarn Spinner will attempt to figure the variable's type out based on how it's used, and won't be able to provide a description.

The list of variables in a Yarn Project.

Managing Localisations and Assets

When you write a Yarn script, you write it in a specific human language. This is referred to as the 'base' language of the script. It's called the base language because it's the one you start with, and the one you translate into other languages.

Unless you change it to something else, Yarn Spinner will set the base language to your computer's current locale.

You can set the base language of a Yarn Project in the Inspector by changing the Base Language setting.

Updating the base language of a Yarn Project

If you want to translate your scripts into another language, or if you want to associate each line with assets (like voice over audio clips), you create a new Localisation. To learn about this process, see Adding Localizations and Assets to Projects.

Using Yarn Projects with Dialogue Runners

Yarn Projects are used by Dialogue Runners. When a Dialogue Runner is told to start running dialogue, it reads it from the Yarn Project it's been provided.

If you try to start a Dialogue Runner and it doesn't have a Yarn Project, or the Yarn Project doesn't have any Yarn scripts, or if any of the Yarn scripts contain an error, the Dialogue Runner won't be able to run.

Inspector

Property
Description

Source Scripts

The list of Yarn Scripts that this Yarn Project uses.

Declarations

The list of variables that are declared in this Yarn Project, or in the Yarn Scripts that this project uses.

Base Language

The language that the Yarn Scripts are written in.

Localisations

A mapping of languages to string tables and associated assets. See for more information.

Search All Assemblies

If this is turned on, Yarn Spinner will search for in all of your project's code and packages.

If this is turned off, it will only search for them in the default assembly, and in the assemblies specified in Assemblies to Search.

By default, this is turned on.

Assemblies To Search

If Search All Assemblies is turned off, Yarn Spinner will search for commands and actions in the assemblies you specify in this list, as well as the default assembly.

This list will only appear if Search All Assemblies is turned off.

Use Addressable Assets

If this is turned on, the Yarn Project will configure itself to look for assets using the system.

This checkbox will only appear if the Addressable Assets package is installed in your project.

Update Asset Addresses

When you click this button, all of the assets in the folders specified in the Languages to Source Assets list will have their address updated to match the line ID they refer to.

Export Strings as CSV

When you click this button, all of the lines in the Yarn Scripts that this project uses will be written to a .csv file, which can be translated to other languages. See for more information.

Update Existing Strings Files

When you click this button, all .csv strings files that are configured in the Languages to Source Assets list will be updated with any lines that have been added, modified or deleted since the strings file was created. See for more information.

Add Line Tags to Scripts

When you click this button, any line of dialogue in the Source Scripts list that doesn't have a #line: tag will have one added. See for more information.

Adding Localizations and Assets to Projects
custom commands and functions
Addressable Assets
Adding Localizations and Assets to Projects
Adding Localizations and Assets to Projects
Adding Localizations and Assets to Projects

Yarn Scripts

Learn about Yarn scripts, which are the assets that contain the dialogue you write.

A Yarn script is a text file containing your dialogue.

Yarn scripts need to be added to a Yarn Project in order to be used in your game.

Creating a New File

To create a new Yarn script in Unity, follow these steps:

  • Open the Assets menu, and choose Yarn Spinner -> Yarn Script.

  • Unity will create a new file. Type in a name for the file, and press return.

Creating a new Yarn script.

The new file that you've just created will contain a single node, which has the same name as the file.

Creating a Yarn Script in Unity is exactly the same as creating a .yarn file externally (i.e. in macOS Finder or Windows Explorer), and dragging it into the Assets folder of your Unity project, or directly into the Project pane (where the new Yarn Script we created through the process above appeared) in Unity.

Editing Yarn Scripts

To edit a Yarn script, double-click it in Unity. The file will open in your editor. When you save your changes and return to Unity, it will be re-compiled.

You can learn about our recommended editor, Visual Studio Code with the official Yarn Spinner Extension at: Editing with VS Code.

Importing Yarn Files

There are two important kinds of files you'll use when working with Yarn Spinner for Unity:

  • Yarn Scripts are files that contain your written dialogue.

  • Yarn Projects are files that link all of your scripts together, and are used by the Dialogue Runner.

A Yarn Script, a string table, and a Yarn Project in Unity.