> 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.generatedvariablestorageextensions/yarn.unity.generatedvariablestorageextensions.getvalueordefault.md).

# GetValueOrDefault\<T>(IGeneratedVariableStorage,string)

Method in [GeneratedVariableStorageExtensions](/3.1/api/csharp/yarn.unity/yarn.unity.generatedvariablestorageextensions.md)

## Summary

Gets a value for the variable `variableName` from `storage` , or else returns the default value of `T` .

```csharp
public static T? GetValueOrDefault<T>(this IGeneratedVariableStorage storage, string variableName)
    where T : IConvertible
```

## Parameters

| Name                                                                                                               | Description                                                 |
| ------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------- |
| [Yarn.Unity.IGeneratedVariableStorage](/3.1/api/csharp/yarn.unity/yarn.unity.igeneratedvariablestorage.md) storage | The generated variable storage class to get the value from. |
| `string` variableName                                                                                              | The name of the variable to get a value for.                |

## Type Parameters

| Name | Description                                   |
| ---- | --------------------------------------------- |
| T    | The type of the parameter to get a value for. |

## Returns

The value of `variableName` , or the default value of `T` .
