> 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.compiler/yarn.compiler.declaration/yarn.compiler.declaration.createvariable.md).

# CreateVariable(string,IType,IConvertible,string?)

Method in [Declaration](/3.1/api/csharp/yarn.compiler/yarn.compiler.declaration.md)

## Summary

Creates a new instance of the [Declaration](/3.1/api/csharp/yarn.compiler/yarn.compiler.declaration.md) class, using the given name, type and default value.

```csharp
public static Declaration CreateVariable(string name, IType type, IConvertible defaultValue, string? description = null)
```

## Parameters

| Name                                                  | Description                                                                                                          |
| ----------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------- |
| `string` name                                         | The name of the new declaration.                                                                                     |
| [Yarn.IType](/3.1/api/csharp/yarn/yarn.itype.md) type | The type of the declaration.                                                                                         |
| `System.IConvertible` defaultValue                    | The default value of the declaration. This must be a string, a number (integer or floating-point), or boolean value. |
| `string` description                                  | The description of the new declaration.                                                                              |

## Returns

A new instance of the [Declaration](/3.1/api/csharp/yarn.compiler/yarn.compiler.declaration.md) class.
