# IVariable

> Represents a variable that can be provided through a global VariablesGroupAsset or as a local variable through localized string instead of as a string format argument. A variable can be a single variable, in which case the value should be returned in IVariable.GetSourceValue or a class with multiple variables which can then be further extracted with additional string format arguments.

## Definition

* **Type:** Interface
* **Namespace:** [Unity.SmartStrings.PersistentVariables](/engine/6000.7/script-reference/unity/smartstrings/persistentvariables.md)
* **Assembly:** UnityEngine.SmartStringsModule

```csharp
public interface IVariable
```

## Methods

| Method                                                                                                               | Description                                                           |
| -------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- |
| [GetSourceValue](/engine/6000.7/script-reference/unity/smartstrings/persistentvariables/ivariable/getsourcevalue.md) | Returns the value to use when the smart string matches this variable. |
