# AddCommandHandler(string,Delegate)

Method in [DialogueRunner](https://docs.yarnspinner.dev/3.1/api/csharp/yarn.unity/yarn.unity.dialoguerunner)

## Summary

Adds a command handler. Dialogue will pause execution after the command is called.

```csharp
public void AddCommandHandler(string commandName, Delegate handler);
```

## Remarks

When this command handler has been added, it can be called from your Yarn scripts like so:

```
<<commandName param1 param2>>
```

If `handler` is a method that returns a `UnityEngine.Coroutine`, when the command is run, the [DialogueRunner](https://docs.yarnspinner.dev/3.1/api/csharp/yarn.unity/yarn.unity.dialoguerunner) will wait for the returned coroutine to stop before delivering any more content.

If `handler` is a method that returns an `System.Collections.IEnumerator`, when the command is run, the [DialogueRunner](https://docs.yarnspinner.dev/3.1/api/csharp/yarn.unity/yarn.unity.dialoguerunner) will start a coroutine using that method and wait for that coroutine to stop before delivering any more content.

## Parameters

| Name                 | Description                                                                                                                                 |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| `string` commandName | The name of the command.                                                                                                                    |
| `Delegate` handler   | The [CommandHandler](https://docs.yarnspinner.dev/3.1/api/csharp/yarn/yarn.commandhandler) that will be invoked when the command is called. |
