# IVariableStorage

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

## Summary

Provides a mechanism for storing and retrieving instances of the `Yarn.Value` class.

```csharp
public interface IVariableStorage
```

## Methods

| Name                                                                                                                               | Description                                |
| ---------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------ |
| [Clear()](https://docs.yarnspinner.dev/2.2/api/csharp/yarn/yarn.ivariablestorage/yarn.ivariablestorage.clear)                      | Removes all variables from storage.        |
| [SetValue(string,bool)](https://docs.yarnspinner.dev/2.2/api/csharp/yarn/yarn.ivariablestorage/yarn.ivariablestorage.setvalue-3)   | Stores a `bool` in this VariableStorage.   |
| [SetValue(string,float)](https://docs.yarnspinner.dev/2.2/api/csharp/yarn/yarn.ivariablestorage/yarn.ivariablestorage.setvalue-2)  | Stores a `float` in this VariableStorage.  |
| [SetValue(string,string)](https://docs.yarnspinner.dev/2.2/api/csharp/yarn/yarn.ivariablestorage/yarn.ivariablestorage.setvalue-1) | Stores a `string` in this VariableStorage. |
| [TryGetValue(string,T)](https://docs.yarnspinner.dev/2.2/api/csharp/yarn/yarn.ivariablestorage/yarn.ivariablestorage.trygetvalue)  | Retrieves a value of type `T` by name.     |
