> For the complete documentation index, see [llms.txt](https://docs.yarnspinner.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.yarnspinner.dev/3.1/api/csharp/yarn.unity/yarn.unity.iactionregistration.md).

# IActionRegistration

Interface in [Yarn.Unity](/3.1/api/csharp/yarn.unity.md)

## Summary

Contains methods that allow adding and removing Yarn commands and functions.

```csharp
public interface IActionRegistration
```

## Methods

| Name                                                                                                                                                                         | Description                                                                          |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ |
| [AddCommandHandler(string,Delegate)](/3.1/api/csharp/yarn.unity/yarn.unity.iactionregistration/yarn.unity.iactionregistration.addcommandhandler-1.md)                        | Adds a command handler. Dialogue will pause execution after the command is called.   |
| [AddCommandHandler(string,MethodInfo)](/3.1/api/csharp/yarn.unity/yarn.unity.iactionregistration/yarn.unity.iactionregistration.addcommandhandler-2.md)                      | Adds a command handler. Dialogue will pause execution after the command is called.   |
| [AddFunction(string,Delegate)](/3.1/api/csharp/yarn.unity/yarn.unity.iactionregistration/yarn.unity.iactionregistration.addfunction.md)                                      | Add a new function that returns a value, so that it can be called from Yarn scripts. |
| [RegisterFunctionDeclaration(string,Type,Type\[\])](/3.1/api/csharp/yarn.unity/yarn.unity.iactionregistration/yarn.unity.iactionregistration.registerfunctiondeclaration.md) | Registers a function as existing, without supplying an implementation.               |
| [RemoveCommandHandler(string)](/3.1/api/csharp/yarn.unity/yarn.unity.iactionregistration/yarn.unity.iactionregistration.removecommandhandler.md)                             | Removes a command handler.                                                           |
| [RemoveFunction(string)](/3.1/api/csharp/yarn.unity/yarn.unity.iactionregistration/yarn.unity.iactionregistration.removefunction.md)                                         | Remove a registered function.                                                        |
