# DialogueRunner

Class in [Yarn.Unity](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity)

Inherits from `MonoBehaviour`

## Summary

The DialogueRunner component acts as the interface between your game and Yarn Spinner.

```csharp
public class DialogueRunner : MonoBehaviour
```

## Classes

| Name                                                                                                                                            | Description                                                  |
| ----------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------ |
| [StringUnityEvent](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.stringunityevent) | A type of `UnityEvent` that takes a single string parameter. |

## Fields

| Name                                                                                                                                                                | Description                                                                                                                                                                                    |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [automaticallyContinueLines](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.automaticallycontinuelines) | Whether the DialogueRunner should automatically proceed to the next line once a line has been finished.                                                                                        |
| [dialogueViews](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.dialogueviews)                           | The View classes that will present the dialogue to the user.                                                                                                                                   |
| [lineProvider](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.lineprovider)                             |                                                                                                                                                                                                |
| [onCommand](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.oncommand)                                   | A [StringUnityEvent](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.stringunityevent) that is called when a `Command` is received. |
| [onDialogueComplete](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.ondialoguecomplete)                 | A Unity event that is called once the dialogue has completed.                                                                                                                                  |
| [onNodeComplete](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.onnodecomplete)                         | A Unity event that is called when a node is complete.                                                                                                                                          |
| [onNodeStart](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.onnodestart)                               | A Unity event that is called when a node starts running.                                                                                                                                       |
| [runSelectedOptionAsLine](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.runselectedoptionasline)       | If true, when an option is selected, it's as though it were a line.                                                                                                                            |
| [startAutomatically](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.startautomatically)                 | Whether the DialogueRunner should automatically start running dialogue after the scene loads.                                                                                                  |
| [startNode](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.startnode)                                   | The name of the node to start from.                                                                                                                                                            |
| [verboseLogging](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.verboselogging)                         | If true, will print Debug.Log messages every time it enters a node, and other frequent events.                                                                                                 |
| [yarnProject](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.yarnproject)                               | The [YarnProject](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.yarnproject) asset that should be loaded on scene start.                                                   |

## Methods

| Name                                                                                                                                                                                                        | Description                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [AddCommandHandler(string,System.Action)](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.addcommandhandler-8)                                   | Adds a command handler. Dialogue will pause execution after the command is called.                                                                                                                                                                                                                                                                                                                                                                  |
| [AddCommandHandler(string,System.Func)](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.addcommandhandler-1)                                     | Adds a command handler. Dialogue will pause execution after the command is called.                                                                                                                                                                                                                                                                                                                                                                  |
| [AddCommandHandler(string,System.Action)](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.addcommandhandler-9)                                   | Adds a command handler. Dialogue will pause execution after the command is called.                                                                                                                                                                                                                                                                                                                                                                  |
| [AddCommandHandler(string,System.Func\<T1, Coroutine>)](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.addcommandhandler-2)                     | Adds a command handler. Dialogue will pause execution after the command is called.                                                                                                                                                                                                                                                                                                                                                                  |
| [AddCommandHandler(string,System.Action\<T1, T2>)](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.addcommandhandler-10)                         | Adds a command handler. Dialogue will pause execution after the command is called.                                                                                                                                                                                                                                                                                                                                                                  |
| [AddCommandHandler(string,System.Func\<T1, T2, Coroutine>)](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.addcommandhandler-3)                 | Adds a command handler. Dialogue will pause execution after the command is called.                                                                                                                                                                                                                                                                                                                                                                  |
| [AddCommandHandler(string,System.Action\<T1, T2, T3>)](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.addcommandhandler-11)                     | Adds a command handler. Dialogue will pause execution after the command is called.                                                                                                                                                                                                                                                                                                                                                                  |
| [AddCommandHandler(string,System.Func\<T1, T2, T3, Coroutine>)](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.addcommandhandler-4)             | Adds a command handler. Dialogue will pause execution after the command is called.                                                                                                                                                                                                                                                                                                                                                                  |
| [AddCommandHandler(string,System.Action\<T1, T2, T3, T4>)](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.addcommandhandler-12)                 | Adds a command handler. Dialogue will pause execution after the command is called.                                                                                                                                                                                                                                                                                                                                                                  |
| [AddCommandHandler(string,System.Func\<T1, T2, T3, T4, Coroutine>)](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.addcommandhandler-5)         | Adds a command handler. Dialogue will pause execution after the command is called.                                                                                                                                                                                                                                                                                                                                                                  |
| [AddCommandHandler(string,System.Action\<T1, T2, T3, T4, T5>)](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.addcommandhandler-13)             | Adds a command handler. Dialogue will pause execution after the command is called.                                                                                                                                                                                                                                                                                                                                                                  |
| [AddCommandHandler(string,System.Func\<T1, T2, T3, T4, T5, Coroutine>)](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.addcommandhandler-6)     | Adds a command handler. Dialogue will pause execution after the command is called.                                                                                                                                                                                                                                                                                                                                                                  |
| [AddCommandHandler(string,System.Action\<T1, T2, T3, T4, T5, T6>)](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.addcommandhandler-14)         | Adds a command handler. Dialogue will pause execution after the command is called.                                                                                                                                                                                                                                                                                                                                                                  |
| [AddCommandHandler(string,System.Func\<T1, T2, T3, T4, T5, T6, Coroutine>)](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.addcommandhandler-7) | Adds a command handler. Dialogue will pause execution after the command is called.                                                                                                                                                                                                                                                                                                                                                                  |
| [AddFunction(string,System.Func)](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.addfunction-1)                                                 | Add a new function that returns a value, so that it can be called from Yarn scripts.                                                                                                                                                                                                                                                                                                                                                                |
| [AddFunction(string,System.Func\<TResult, T1>)](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.addfunction-2)                                   |                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| [AddFunction(string,System.Func\<TResult, T1, T2>)](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.addfunction-3)                               |                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| [AddFunction(string,System.Func\<TResult, T1, T2, T3>)](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.addfunction-4)                           |                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| [AddFunction(string,System.Func\<TResult, T1, T2, T3, T4>)](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.addfunction-5)                       |                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| [AddFunction(string,System.Func\<TResult, T1, T2, T3, T4, T5>)](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.addfunction-6)                   |                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| [AddFunction(string,System.Func\<TResult, T1, T2, T3, T4, T5, T6>)](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.addfunction-7)               |                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| [Clear()](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.clear)                                                                                 | Unloads all nodes from the [Dialogue](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.dialogue) .                                                                                                                                                                                                                                                                                        |
| [GetTagsForNode(String)](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.gettagsfornode)                                                         | Returns the collection of tags that the node associated with the node named `nodeName`.                                                                                                                                                                                                                                                                                                                                                             |
| [NodeExists(string)](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.nodeexists)                                                                 | Returns `true` when a node named `nodeName` has been loaded.                                                                                                                                                                                                                                                                                                                                                                                        |
| [OnViewUserIntentNextLine()](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.onviewuserintentnextline)                                           | Called by a [DialogueViewBase](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialogueviewbase) derived class from [dialogueViews](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.dialogueviews) to inform the [DialogueRunner](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner) that the user intents to proceed to the next line. |
| [RemoveCommandHandler(string)](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.removecommandhandler)                                             | Removes a command handler.                                                                                                                                                                                                                                                                                                                                                                                                                          |
| [RemoveFunction(string)](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.removefunction)                                                         | Remove a registered function.                                                                                                                                                                                                                                                                                                                                                                                                                       |
| [ResetDialogue(string)](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.resetdialogue)                                                           | Starts running the dialogue again.                                                                                                                                                                                                                                                                                                                                                                                                                  |
| [SetDialogueViews(DialogueViewBase\[\])](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.setdialogueviews)                                       | Sets the dialogue views and makes sure the callback `DialogueViewBase.MarkLineComplete` will respond correctly.                                                                                                                                                                                                                                                                                                                                     |
| [SetInitialVariables(bool)](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.setinitialvariables)                                                 | Loads any initial variables declared in the program and loads that variable with its default declaration value into the variable storage. Any variable that is already in the storage will be skipped, the assumption is that this means the value has been overridden at some point and shouldn't be otherwise touched. Can force an override of the existing values with the default if that is desired.                                          |
| [SetProject(YarnProject)](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.setproject)                                                            | Replaces this DialogueRunner's yarn project with the provided project.                                                                                                                                                                                                                                                                                                                                                                              |
| [SplitCommandText(string)](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.splitcommandtext)                                                     | Splits input into a number of non-empty sub-strings, separated by whitespace, and grouping double-quoted strings into a single sub-string.                                                                                                                                                                                                                                                                                                          |
| [StartDialogue(string)](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.startdialogue)                                                           | Start the dialogue from a specific node.                                                                                                                                                                                                                                                                                                                                                                                                            |
| [Stop()](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.stop)                                                                                   | Stops the [Dialogue](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.dialogue) .                                                                                                                                                                                                                                                                                                         |

## Properties

| Name                                                                                                                                              | Description                                                                                                                                                                         |
| ------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [CurrentNodeName](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.currentnodename)     | Gets the name of the current node that is being run.                                                                                                                                |
| [Dialogue](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.dialogue)                   | Gets the underlying [Dialogue](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.dialogue) object that runs the Yarn code. |
| [IsDialogueRunning](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.isdialoguerunning) | Gets a value that indicates if the dialogue is actively running.                                                                                                                    |
| [VariableStorage](https://docs.yarnspinner.dev/2.0/api/csharp/yarn.unity/yarn.unity.dialoguerunner/yarn.unity.dialoguerunner.variablestorage)     | The variable storage object.                                                                                                                                                        |
