# AddExtensions

> Adds ISource extensions to the SmartFormatter.GetSourceExtensions list of this formatter, if the Type has not been added before. Sources are inserted at the recommended position, all others are added at the end of the list. If the extension implements IInitializer, IInitializer.Initialize will be invoked. Extensions implementing ISource and IFormatter will be auto-registered for both.

## Definition

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

## AddExtensions(ISource\[])

Adds [ISource](/engine/6000.7/script-reference/unity/smartstrings/core/extensions/isource.md) extensions to the [SmartFormatter.GetSourceExtensions](/engine/6000.7/script-reference/unity/smartstrings/smartformatter/getsourceextensions.md) list of this formatter, if the Type has not been added before. Sources are inserted at the recommended position, all others are added at the end of the list.

If the extension implements [IInitializer](/engine/6000.7/script-reference/unity/smartstrings/core/extensions/iinitializer.md), [IInitializer.Initialize](/engine/6000.7/script-reference/unity/smartstrings/core/extensions/iinitializer/initialize.md) will be invoked.

Extensions implementing [ISource](/engine/6000.7/script-reference/unity/smartstrings/core/extensions/isource.md)**and**[IFormatter](/engine/6000.7/script-reference/unity/smartstrings/core/extensions/iformatter.md) will be auto-registered for both.

```csharp
public SmartFormatter AddExtensions(params ISource[] sourceExtensions)
```

### Parameters

**** (\[ISource\[]]\(/engine/6000.7/script-reference/unity/smartstrings/core/extensions/isource)): [ISource](/engine/6000.7/script-reference/unity/smartstrings/core/extensions/isource.md) extensions in an arbitrary order.

### Returns

| Type                                                                                   | Description                                                                                           |
| -------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
| [SmartFormatter](/engine/6000.7/script-reference/unity/smartstrings/smartformatter.md) | This [SmartFormatter](/engine/6000.7/script-reference/unity/smartstrings/smartformatter.md) instance. |

## AddExtensions(IFormatter\[])

Adds [IFormatter](/engine/6000.7/script-reference/unity/smartstrings/core/extensions/iformatter.md) extensions to the [SmartFormatter.GetFormatterExtensions](/engine/6000.7/script-reference/unity/smartstrings/smartformatter/getformatterextensions.md) list of this formatter, if the Type has not been added before. Formatters are inserted at the recommended position, all others are added at the end of the list.

If the extension implements [IInitializer](/engine/6000.7/script-reference/unity/smartstrings/core/extensions/iinitializer.md), [IInitializer.Initialize](/engine/6000.7/script-reference/unity/smartstrings/core/extensions/iinitializer/initialize.md) will be invoked.

Extensions implementing [ISource](/engine/6000.7/script-reference/unity/smartstrings/core/extensions/isource.md)**and**[IFormatter](/engine/6000.7/script-reference/unity/smartstrings/core/extensions/iformatter.md) will be auto-registered for both.

```csharp
public SmartFormatter AddExtensions(params IFormatter[] formatterExtensions)
```

### Parameters

**** (\[IFormatter\[]]\(/engine/6000.7/script-reference/unity/smartstrings/core/extensions/iformatter)): [IFormatter](/engine/6000.7/script-reference/unity/smartstrings/core/extensions/iformatter.md) extensions in an arbitrary order.

### Returns

| Type                                                                                   | Description                                                                                           |
| -------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
| [SmartFormatter](/engine/6000.7/script-reference/unity/smartstrings/smartformatter.md) | This [SmartFormatter](/engine/6000.7/script-reference/unity/smartstrings/smartformatter.md) instance. |
