# Write<T>(ref T, ref int, Rune)

> Writes a Unicode.Rune at an index of this string. Increments the index to the position of the next character.

## Definition

* **Type:** Method
* **Namespace:** [Unity.Collections](/engine/6000.7/script-reference/unity/collections.md)
* **Assembly:** UnityEngine.ManagedKernelModule

## Write\<T>(T, int, Rune)

```csharp
public static FormatError Write<T>(this ref T fs, ref int index, Unicode.Rune rune) where T : unmanaged, INativeList<byte>, IUTF8Bytes
```

### Parameters

**** (T): A string to modify.**** (\[int]\(https\://learn.microsoft.com/dotnet/api/system.int32)): A reference to an index in bytes (not characters). Incremented by 1 to 4 depending upon the UTF-8 encoded size of the character written.**** (\[Rune]\(/engine/6000.7/script-reference/unity/collections/unicode/rune)): A rune to write to the string, encoded as UTF-8.

### Returns

| Type                                                                            | Description                                                                                                                                     |
| ------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| [FormatError](/engine/6000.7/script-reference/unity/collections/formaterror.md) | FormatError.None if successful. Returns FormatError.Overflow if the index is invalid or if there is not enough space to store the encoded rune. |
