> 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/2.2/api/csharp/yarn.unity/yarn.unity.variablestoragebehaviour.md).

# VariableStorageBehaviour

Class in [Yarn.Unity](/2.2/api/csharp/yarn.unity.md)

Inherits from `MonoBehaviour`

## Summary

A `MonoBehaviour` that a [DialogueRunner](/2.2/api/csharp/yarn.unity/yarn.unity.dialoguerunner.md) uses to store and retrieve variables.

```csharp
public abstract class VariableStorageBehaviour : MonoBehaviour, Yarn.IVariableStorage
```

## Remarks

This abstract class inherits from `MonoBehaviour` , which means that subclasses of this class can be attached to `GameObject` s.

## Methods

| Name                                                                                                                                                                                                                                                                                                          | Description                                                                                                                  |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| [Clear()](/2.2/api/csharp/yarn.unity/yarn.unity.variablestoragebehaviour/yarn.unity.variablestoragebehaviour.clear.md)                                                                                                                                                                                        |                                                                                                                              |
| [Contains(string)](/2.2/api/csharp/yarn.unity/yarn.unity.variablestoragebehaviour/yarn.unity.variablestoragebehaviour.contains.md)                                                                                                                                                                            | Returns a boolean value representing if a particular variable is inside the variable storage.                                |
| [GetAllVariables()](/2.2/api/csharp/yarn.unity/yarn.unity.variablestoragebehaviour/yarn.unity.variablestoragebehaviour.getallvariables.md)                                                                                                                                                                    | Provides a unified interface for exporting all variables. Intended to be a point for custom saving, editors, etc.            |
| [SetAllVariables(System.Collections.Generic.Dictionary\<string,float>,System.Collections.Generic.Dictionary\<string,string>,System.Collections.Generic.Dictionary\<string,bool>,bool)](/2.2/api/csharp/yarn.unity/yarn.unity.variablestoragebehaviour/yarn.unity.variablestoragebehaviour.setallvariables.md) | Provides a unified interface for loading many variables all at once. Will override anything already in the variable storage. |
| [SetValue(string,bool)](/2.2/api/csharp/yarn.unity/yarn.unity.variablestoragebehaviour/yarn.unity.variablestoragebehaviour.setvalue-3.md)                                                                                                                                                                     |                                                                                                                              |
| [SetValue(string,float)](/2.2/api/csharp/yarn.unity/yarn.unity.variablestoragebehaviour/yarn.unity.variablestoragebehaviour.setvalue-2.md)                                                                                                                                                                    |                                                                                                                              |
| [SetValue(string,string)](/2.2/api/csharp/yarn.unity/yarn.unity.variablestoragebehaviour/yarn.unity.variablestoragebehaviour.setvalue-1.md)                                                                                                                                                                   |                                                                                                                              |
| [TryGetValue(string,T)](/2.2/api/csharp/yarn.unity/yarn.unity.variablestoragebehaviour/yarn.unity.variablestoragebehaviour.trygetvalue.md)                                                                                                                                                                    |                                                                                                                              |
