# VariableStorageBehaviour

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

Inherits from `MonoBehaviour`

## Summary

A `MonoBehaviour` that a [DialogueRunner](https://docs.yarnspinner.dev/2.2/api/csharp/yarn.unity/yarn.unity.dialoguerunner) 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()](https://docs.yarnspinner.dev/2.2/api/csharp/yarn.unity/yarn.unity.variablestoragebehaviour/yarn.unity.variablestoragebehaviour.clear)                                                                                                                                                                                        |                                                                                                                              |
| [Contains(string)](https://docs.yarnspinner.dev/2.2/api/csharp/yarn.unity/yarn.unity.variablestoragebehaviour/yarn.unity.variablestoragebehaviour.contains)                                                                                                                                                                            | Returns a boolean value representing if a particular variable is inside the variable storage.                                |
| [GetAllVariables()](https://docs.yarnspinner.dev/2.2/api/csharp/yarn.unity/yarn.unity.variablestoragebehaviour/yarn.unity.variablestoragebehaviour.getallvariables)                                                                                                                                                                    | 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)](https://docs.yarnspinner.dev/2.2/api/csharp/yarn.unity/yarn.unity.variablestoragebehaviour/yarn.unity.variablestoragebehaviour.setallvariables) | Provides a unified interface for loading many variables all at once. Will override anything already in the variable storage. |
| [SetValue(string,bool)](https://docs.yarnspinner.dev/2.2/api/csharp/yarn.unity/yarn.unity.variablestoragebehaviour/yarn.unity.variablestoragebehaviour.setvalue-3)                                                                                                                                                                     |                                                                                                                              |
| [SetValue(string,float)](https://docs.yarnspinner.dev/2.2/api/csharp/yarn.unity/yarn.unity.variablestoragebehaviour/yarn.unity.variablestoragebehaviour.setvalue-2)                                                                                                                                                                    |                                                                                                                              |
| [SetValue(string,string)](https://docs.yarnspinner.dev/2.2/api/csharp/yarn.unity/yarn.unity.variablestoragebehaviour/yarn.unity.variablestoragebehaviour.setvalue-1)                                                                                                                                                                   |                                                                                                                              |
| [TryGetValue(string,T)](https://docs.yarnspinner.dev/2.2/api/csharp/yarn.unity/yarn.unity.variablestoragebehaviour/yarn.unity.variablestoragebehaviour.trygetvalue)                                                                                                                                                                    |                                                                                                                              |
