# AddCommandHandler\<T1, T2, T3, T4, T5, T6, T7, T8, T9>(IActionRegistration,string,System.Action\<T1, T2, T3, T4, T5, T6, T7, T8, T9>)

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

## Summary

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

```csharp
public static void AddCommandHandler<T1, T2, T3, T4, T5, T6, T7, T8, T9>(this IActionRegistration registration, string commandName, System.Action<T1, T2, T3, T4, T5, T6, T7, T8, T9> 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.                                                                                                                    |
| `Action<T1, T2, T3, T4, T5, T6, T7, T8, T9>` handler                                                                                 | The [CommandHandler](https://docs.yarnspinner.dev/3.1/api/csharp/yarn/yarn.commandhandler) that will be invoked when the command is called. |
| [Yarn.Unity.IActionRegistration](https://docs.yarnspinner.dev/3.1/api/csharp/yarn.unity/yarn.unity.iactionregistration) registration |                                                                                                                                             |
