Yarn Spinner is made possible by your generous patronage. Please consider supporting Yarn Spinner's development by becoming a patron, or by buying a copy of Yarn Spinner on itch.io or the Unity Asset Store!
👩🚒 Getting Help
There are several places you can go to get help with Yarn Spinner.
- Join the Yarn Spinner Discord.
- Talk to us via BlueSky or Mastodon
- To report a bug, file an issue on GitHub.
📦 How To Install Yarn Spinner
To install the most recent release of Yarn Spinner for Unity, please see the Installation Instructions in the Yarn Spinner documentation.
If you want to install this particular version of Yarn Spinner for Unity, follow these steps:
Installing Yarn Spinner for Unity v2.5.0 from Git
- Open the Window menu, and choose Package Manager.
- If you already have any previous version of the Yarn Spinner package installed, remove it.
- Click the
+
button, and click Add package from git URL... - Enter the following URL:
https://github.com/YarnSpinnerTool/YarnSpinner-Unity.git#v2.5.0
Each release will have a different URL. To upgrade to future versions of Yarn Spinner, you will need to uninstall the package, and reinstall using the new URL.
📜 Changes
Added
DialogueRunner.AddCommandHandler
andDialogueRunner.AddFunction
now validate that the provided names contain no spaces.DialogueRunner.AddCommandHandler
now supports methods whose last parameter is an array of strings.- This allows for commands with a variable list of parameters. For example, consider the following method:
This method can be registered as a Yarn command:
void LogStrings(int a, string[] remainder) { Debug.Log($"a = {a}, remainder={string.Join(",", remainder)}"); }
And called from Yarn Spinner:dialogueRunner.AddCommandHandler<int, string[]>("my_command", LogStrings);
// logs "a = 42, remainder=this,is,pretty,great" <<my_command 42 this is pretty great>>
[!NOTE]
Array parameters are required to be string arrays, and are required to be the last parameter of the method.
- This allows for commands with a variable list of parameters. For example, consider the following method:
- Yarn Spinner's XML documentation is now included in the distribution.
Changed
- Fixed an issue where, on Windows, projects would fail to automatically update when a file that belonged to them was created or edited.
- Fixed an issue where Unity Localization
rid
values would change on reimport when they didn't have to. - Fixed an issue where a
[pause/]
marker at the start of the line would cause all pauses to not work (@iatenothingbutriceforthreedays) - Inspector-exposed fields on
LineView
are now public. - Fixed an issue where a
.meta
file was causing warnings to appear in Unity on import. (@Colbydude) YarnProjectImporter.GenerateStringsTable
is now public.- Yarn Projects now allow choosing more specific cultures (for example 'pt-BR' and 'en-AU' rather than simply 'pt' and 'en') as their base language.
- Fixed a issue where
AudioLineProvider
would throw an exception if an asset was already loaded and was requested a second time.