# Yarn.Unity Namespace

## Summary

Contains classes for working with Yarn Spinner in the Unity game engine.

## Attributes

| Name                                                                                                     | Description |
| -------------------------------------------------------------------------------------------------------- | ----------- |
| [YarnActionAttribute](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.yarnactionattribute) |             |

## Classes

| Name                                                                                                                                                   | Description                                                                                                                                                                                                                                                                                                                                            |
| ------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [ActionMarkupHandler](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.actionmarkuphandler)                                               | This is an abstract monobehaviour that conforms to the [IActionMarkupHandler](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.iactionmarkuphandler) interface.                                                                                                                                                                           |
| [ActionRegistrationExtension](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.actionregistrationextension)                               | Contains extension methods for [IActionRegistration](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.iactionregistration) objects.                                                                                                                                                                                                       |
| [Actions](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.actions)                                                                       |                                                                                                                                                                                                                                                                                                                                                        |
| [BuiltinLocalisedLineProvider](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.builtinlocalisedlineprovider)                             |                                                                                                                                                                                                                                                                                                                                                        |
| [Cultures](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.cultures)                                                                     | Provides access to all [Culture](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.culture) s supported by Yarn Spinner.                                                                                                                                                                                                                   |
| [DialogueOption](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.dialogueoption)                                                         |                                                                                                                                                                                                                                                                                                                                                        |
| [DialoguePresenterBase](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.dialoguepresenterbase)                                           | A `UnityEngine.MonoBehaviour` that can present lines and options to the user, when it receives them from a [DialogueRunner](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.dialoguerunner) .                                                                                                                                            |
| [DialogueReference](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.dialoguereference)                                                   | Stores a reference to a dialogue node in a Yarn Project.                                                                                                                                                                                                                                                                                               |
| [DialogueRunner](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.dialoguerunner)                                                         |                                                                                                                                                                                                                                                                                                                                                        |
| [Effects](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.effects)                                                                       |                                                                                                                                                                                                                                                                                                                                                        |
| [GeneratedVariableStorageExtensions](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.generatedvariablestorageextensions)                 |                                                                                                                                                                                                                                                                                                                                                        |
| [InMemoryVariableStorage](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.inmemoryvariablestorage)                                       | A simple implementation of VariableStorageBehaviour.                                                                                                                                                                                                                                                                                                   |
| [InputSystemAvailability](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.inputsystemavailability)                                       |                                                                                                                                                                                                                                                                                                                                                        |
| [InstantTypewriter](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.instanttypewriter)                                                   | An implementation of [IAsyncTypewriter](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.iasynctypewriter) that delivers all content instantly, and invokes any [IActionMarkupHandler](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.iactionmarkuphandler) s along the way as needed.                                     |
| [InterfaceContainer](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.interfacecontainer)                                                 |                                                                                                                                                                                                                                                                                                                                                        |
| [LetterTypewriter](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.lettertypewriter)                                                     | An implementation of [IAsyncTypewriter](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.iasynctypewriter) that delivers characters one at a time, and invokes any [IActionMarkupHandler](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.iactionmarkuphandler) s along the way as needed.                                  |
| [LineAdvancer](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.lineadvancer)                                                             | A dialogue presenter that listens for user input and sends requests to a [DialogueRunner](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.dialoguerunner) to advance the presentation of the current line, either by asking a dialogue runner to hurry up its delivery, advance to the next line, or cancel the entire dialogue session. |
| [LineMetadata](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.linemetadata)                                                             |                                                                                                                                                                                                                                                                                                                                                        |
| [LinePresenter](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.linepresenter)                                                           | A Dialogue Presenter that presents lines of dialogue, using Unity UI elements.                                                                                                                                                                                                                                                                         |
| [LinePresenterButtonHandler](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.linepresenterbuttonhandler)                                 |                                                                                                                                                                                                                                                                                                                                                        |
| [LineProviderBehaviour](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.lineproviderbehaviour)                                           | A `UnityEngine.MonoBehaviour` that produces [LocalizedLine](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.localizedline) s, for use in Dialogue Presenters.                                                                                                                                                                            |
| [Localization](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.localization)                                                             |                                                                                                                                                                                                                                                                                                                                                        |
| [LocalizedLine](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.localizedline)                                                           | Represents a line, ready to be presented to the user in the localisation they have specified.                                                                                                                                                                                                                                                          |
| [MarkupPalette](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.markuppalette)                                                           | Represents a collection of marker names and colours.                                                                                                                                                                                                                                                                                                   |
| [OptionItem](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.optionitem)                                                                 |                                                                                                                                                                                                                                                                                                                                                        |
| [OptionsPresenter](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.optionspresenter)                                                     | Receives options from a [DialogueRunner](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.dialoguerunner) , and displays and manages a collection of [OptionItem](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.optionitem) views for the user to choose from.                                                            |
| [PauseEventProcessor](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.pauseeventprocessor)                                               | Allows pausing the current typewrite through \[pause/] markers.                                                                                                                                                                                                                                                                                        |
| [ReplacementMarkupHandler](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.replacementmarkuphandler)                                     | An attribute marker processor receives a marker found in a Yarn line, and optionally rewrites the marker and its children into a new form.                                                                                                                                                                                                             |
| [SerializableDictionary](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.serializabledictionary-1)                                       |                                                                                                                                                                                                                                                                                                                                                        |
| [SerializableDictionary\<TKey, TValue>](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.serializabledictionary-2)                        |                                                                                                                                                                                                                                                                                                                                                        |
| [SerializableDictionary\<TKey, TValue, TValueStorage>](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.serializabledictionary-3)         |                                                                                                                                                                                                                                                                                                                                                        |
| [SerializableDictionaryBase](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.serializabledictionarybase-1)                               |                                                                                                                                                                                                                                                                                                                                                        |
| [SerializableDictionaryBase\<TKey, TValue, TValueStorage>](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.serializabledictionarybase-2) |                                                                                                                                                                                                                                                                                                                                                        |
| [StyleMarkerProcessor](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.stylemarkerprocessor)                                             | An attribute marker processor that inserts TextMeshPro style tags where Yarn Spinner `[style]` tags appear in a line.                                                                                                                                                                                                                                  |
| [UnityEventString](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.unityeventstring)                                                     | A `UnityEngine.Events.UnityEvent` that takes a single `string` parameter.                                                                                                                                                                                                                                                                              |
| [VariableStorageBehaviour](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.variablestoragebehaviour)                                     | A `UnityEngine.MonoBehaviour` that a [DialogueRunner](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.dialoguerunner) uses to store and retrieve variables.                                                                                                                                                                              |
| [VoiceOverPresenter](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.voiceoverpresenter)                                                 | A subclass of [DialoguePresenterBase](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.dialoguepresenterbase) that plays voice-over `UnityEngine.AudioClip` s for lines of dialogue.                                                                                                                                                      |
| [WordTypewriter](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.wordtypewriter)                                                         | An implementation of [IAsyncTypewriter](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.iasynctypewriter) that delivers words one at a time, and invokes any [IActionMarkupHandler](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.iactionmarkuphandler) s along the way as needed.                                       |
| [YarnCommandAttribute](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.yarncommandattribute)                                             | An attribute that marks a method on an object as a command.                                                                                                                                                                                                                                                                                            |
| [YarnFunctionAttribute](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.yarnfunctionattribute)                                           | Marks the method as a function to be registered with the running instance's library.                                                                                                                                                                                                                                                                   |
| [YarnProject](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.yarnproject)                                                               |                                                                                                                                                                                                                                                                                                                                                        |
| [YarnTaskCompletionSource](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.yarntaskcompletionsource-1)                                   |                                                                                                                                                                                                                                                                                                                                                        |
| [YarnTaskCompletionSource](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.yarntaskcompletionsource-2)                                   |                                                                                                                                                                                                                                                                                                                                                        |
| [YarnTaskExtensions](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.yarntaskextensions)                                                 |                                                                                                                                                                                                                                                                                                                                                        |

## Enums

| Name                                                                                               | Description |
| -------------------------------------------------------------------------------------------------- | ----------- |
| [LocalizationType](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.localizationtype) |             |
| [RegistrationType](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.registrationtype) |             |

## Interfaces

| Name                                                                                                                 | Description                                                                                                                                                                                                                           |
| -------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [IActionMarkupHandler](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.iactionmarkuphandler)           | A [IActionMarkupHandler](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.iactionmarkuphandler) is an object that reacts to the delivery of a line of dialogue, and can optionally control the timing of that delivery.  |
| [IActionRegistration](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.iactionregistration)             | Contains methods that allow adding and removing Yarn commands and functions.                                                                                                                                                          |
| [IAssetProvider](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.iassetprovider)                       | Contains methods for accessing assets of a given type stored within an object.                                                                                                                                                        |
| [IAsyncTypewriter](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.iasynctypewriter)                   | An object that can handle delivery of a line's text over time.                                                                                                                                                                        |
| [ICommand](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.icommand)                                   |                                                                                                                                                                                                                                       |
| [IGeneratedVariableStorage](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.igeneratedvariablestorage) | An interface that works with [GeneratedVariableStorageExtensions](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.generatedvariablestorageextensions) to add helper methods used by generated variable storage classes. |
| [ILineProvider](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.ilineprovider)                         | Contains methods for retrieving user-facing localized content, given non-localized line IDs.                                                                                                                                          |
| [IYarnTask](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.iyarntask)                                 |                                                                                                                                                                                                                                       |

## Namespaces

| Name                                                                                                 | Description                                                                       |
| ---------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
| [Yarn.Unity.Samples](https://docs.yarnspinner.dev/api/csharp/yarn.unity.samples)                     |                                                                                   |
| [Yarn.Unity.UnityLocalization](https://docs.yarnspinner.dev/api/csharp/yarn.unity.unitylocalization) | Contains classes for working with the Unity Localization system and Yarn Spinner. |

## Structs

| Name                                                                                                         | Description                                                                                               |
| ------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------- |
| [Culture](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.culture)                             | Holds information about a language.                                                                       |
| [LineCancellationToken](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.linecancellationtoken) | A Line Cancellation Token stores information about whether a dialogue presenter should stop its delivery. |
| [StringTableEntry](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.stringtableentry)           |                                                                                                           |
| [YarnTask](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.yarntask-1)                         |                                                                                                           |
| [YarnTask](https://docs.yarnspinner.dev/api/csharp/yarn.unity/yarn.unity.yarntask-2)                         |                                                                                                           |
