v3.0.0
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 v3.0.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#v3.0.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
- A basic saliency sample to show off the basics and how to get started with storylets.
- Logo and docs/help links to custom editors in Yarn Project (standalone), Yarn Script (standalone), and Dialogue Runner (component when on GameObject).
- Description of package samples which summarises Samples therein.
- Updated a few out-of-date HelpUrl values which referenced v1 docs.
- Default Yarn Project exlude patterns updated to ignore the standard samples folders
- Functions that are registered using the
AddFunctionmethod are now supported by the Yarn Spinner compiler. - YarnPackageImporter now has an install samples menu item in
Window -> Yarn Spinner -> Install Samples - 'Incorrect number of parameters' error messages when running commands will now show more detailed error messages if available.
- Yarn scripts can now directly link to vscode for situations where you want to use that as your Yarn editor but have another editor as your C# editor.
UnityLocalisedLineProvidernow supports fallback locales.UnityLocalisedLineProvidernow supports shadow lines.BuiltinLocalisedLineProvidernow supports falling back to different locale.DialogueRunner.DialogueTasknow completes after all dialogue presenters finish theirOnDialogueCompletemethod call, rather than before.- The
DialogueRunner.onDialogueCompleteevent is now invoked after all dialogue presenters finish theirOnDialogueCompletemethod call, rather than before.
Changed
- Fixed an error that caused the YarnProject asset editor to incorrectly report a compile error when there wasn't one.
- Certain errors thrown when a command can't be run now show the full text of the command, not just the command name.
- The default Yarn Spinner Script template is now no longer an empty node.
- Renamed 'Dialogue View Script' menu item to 'Dialogue Presenter Script'.
- Added
DialogueRunner.DialoguePresenters(and markedDialogueRunner.DialogueViewsas obsolete.) - Fixed a lot of missing null checks
- Fixed a bug in SampleRenderDetector that caused build errors.
- Menu for creating a prefab dialogue system now says "Dialogue System" instead of "Dialogue Runner"
- Line Advancer will now advance to the next line if the line presenter is finished presentation and is awaiting input and the player sends the hurry up action
- this only happens when the default line presenter is the one presenting the line
- other presenters don't really have an obvious "I am done showing, but not done presenting" concept as the line presenter does
- adopting this behaviour into other presenters is not difficult, just not something that can be done automatically
Removed
- SaveStateToPlayerPrefs method
- LoadStateFromPlayerPrefs method
LinesAvailableproperty from line providers, it no longer makes sense in an async worldbaseLayerproperty on Simple Character as it was no longer used- Obsolete uxml elements on
LanguagePopup.cs - All samples, they now live in their own repository
