# SetTilesBlock

> Fills an area with array of Tile s.

## Definition

* **Type:** Method
* **Namespace:** [UnityEngine.Tilemaps](/engine/6000.5/script-reference/unityengine/tilemaps.md)
* **Assembly:** UnityEngine.TilemapModule

## SetTilesBlock(BoundsInt, TileBase\[])

Fills an area with array of [Tile](/engine/6000.5/script-reference/unityengine/wsa/tile.md)s.

```csharp
public void SetTilesBlock(BoundsInt position, TileBase[] tileArray)
```

### Parameters

**** (\[BoundsInt]\(/engine/6000.5/script-reference/unityengine/boundsint)): The area to fill.**** (\[TileBase\[]]\(/engine/6000.5/script-reference/unityengine/tilemaps/tilebase)): The array of [Tile](/engine/6000.5/script-reference/unityengine/wsa/tile.md)s to be placed.

### Remarks

This method is a faster way to set multiple tiles in an area than calling `SetTile` for each tile. The bounds size must match the array size. For example bounds of 1x2x3 needs an array length of 6.

```csharp
// Fill area on Tilemap with checkerboard pattern of tileA and tileB
using UnityEngine;
using UnityEngine.Tilemaps;

public class ExampleClass : MonoBehaviour
{
    public TileBase tileA;
    public TileBase tileB;
    public BoundsInt area;

    void Start()
    {
        TileBase[] tileArray = new TileBase[area.size.x * area.size.y * area.size.z];
        for (int index = 0; index < tileArray.Length; index++)
        {
            tileArray[index] = index % 2 == 0 ? tileA : tileB;
        }
        Tilemap tilemap = GetComponent<Tilemap>();
        tilemap.SetTilesBlock(area, tileArray);
    }
}
```

Refer to Scriptable Tiles and Tilemap for more information.

## SetTilesBlock(BoundsInt, TileArray)

Fills an area with an array of [Tile](/engine/6000.5/script-reference/unityengine/wsa/tile.md)s.

```csharp
public void SetTilesBlock(BoundsInt position, Tilemap.TileArray tileArray)
```

### Parameters

**** (\[BoundsInt]\(/engine/6000.5/script-reference/unityengine/boundsint)): The area to fill.**** (\[TileArray]\(/engine/6000.5/script-reference/unityengine/tilemaps/tilemap/tilearray)): The array of [Tile](/engine/6000.5/script-reference/unityengine/wsa/tile.md)s to place.

### Remarks

This method is a faster way to set multiple tiles in an area than calling `SetTile` for each tile. The bounds size must match the array size. For example bounds of 1x2x3 needs an array length of 6.

### Examples

```csharp
// Fill area on Tilemap with checkerboard pattern of tileA and tileB
using UnityEngine;
using UnityEngine.Tilemaps;
using Unity.Collections;

public class ExampleClass_Native : MonoBehaviour
{
    public TileBase tileA;
    public TileBase tileB;
    public BoundsInt area;

    void Start()
    {
        Tilemap.TileArray tileArray = new Tilemap.TileArray(area.size.x * area.size.y * area.size.z, Allocator.Temp);
        for (int index = 0; index < tileArray.Length; index++)
        {
            tileArray[index] = index % 2 == 0 ? tileA : tileB;
        }
        Tilemap tilemap = GetComponent<Tilemap>();
        tilemap.SetTilesBlock(area, tileArray);
    }
}
```
