Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


SetTiles

Sets an array of Tile s at the given XYZ coordinates of the corresponding cells in the Tilemap.
Read time 4 minutesLast updated 6 days ago

Definition

SetTiles(Vector3Int[], TileBase[])

Sets an array of Tiles at the given XYZ coordinates of the corresponding cells in the Tilemap.
public void SetTiles(Vector3Int[] positionArray, TileBase[] tileArray)

Parameters

positionArray

An array of positions of tiles on the Tilemap.

tileArray

An array of Tiles to be placed.

Remarks

Refer to Scriptable Tiles and Tilemap for more information.

Examples

// Fills Tilemap area with checkerboard pattern of tileA and tileBusing UnityEngine;using UnityEngine.Tilemaps;public class ExampleClass : MonoBehaviour{ public TileBase tileA; public TileBase tileB; public Vector2Int size; void Start() { Vector3Int[] positions = new Vector3Int[size.x * size.y]; TileBase[] tileArray = new TileBase[positions.Length]; for (int index = 0; index < positions.Length; index++) { positions[index] = new Vector3Int(index % size.x, index / size.y, 0); tileArray[index] = index % 2 == 0 ? tileA : tileB; } Tilemap tilemap = GetComponent<Tilemap>(); tilemap.SetTiles(positions, tileArray); }}

SetTiles(NativeArray<Vector3Int>, TileArray)

Sets an array of Tiles at the given XYZ coordinates of the corresponding cells in the Tilemap.
public void SetTiles(NativeArray<Vector3Int> positionArray, Tilemap.TileArray tileArray)

Parameters

The array of positions of tiles on the Tilemap.

tileArray

The array of Tiles to place.

Remarks

Refer to Scriptable Tiles and Tilemap for more information.

Examples

// Fills Tilemap area with checkerboard pattern of tileA and tileBusing UnityEngine;using UnityEngine.Tilemaps;using Unity.Collections;public class ExampleClass_Native : MonoBehaviour{ public TileBase tileA; public TileBase tileB; public Vector2Int size; void Start() { NativeArray<Vector3Int> positions = new NativeArray<Vector3Int>(size.x * size.y, Allocator.Temp); Tilemap.TileArray tileArray = new Tilemap.TileArray(positions.Length, Allocator.Temp); for (int index = 0; index < positions.Length; index++) { positions[index] = new Vector3Int(index % size.x, index / size.y, 0); tileArray[index] = index % 2 == 0 ? tileA : tileB; } Tilemap tilemap = GetComponent<Tilemap>(); tilemap.SetTiles(positions, tileArray); }}

SetTiles(TileChangeData[], bool)

Sets an array of Tiles with additonal properties at the given XYZ coordinates of the corresponding cells in the Tilemap. The Color and Transform of the TileChangeData will take precedence over the values from the Tile.
public void SetTiles(TileChangeData[] tileChangeDataArray, bool ignoreLockFlags)

Parameters

tileChangeDataArray

The array of Tiles with additional properties to place.

ignoreLockFlags

Whether to ignore lock flags set in the tile's
TileFlags
when applying color and transform changes from TileChangeData.

Remarks

Refer to Scriptable Tiles and Tilemap for more information.

SetTiles(NativeArray<Vector3Int>, TileArray, NativeArray<Color>, NativeArray<Matrix4x4>, bool)

Sets an array of Tiles with additonal properties at the given XYZ coordinates of the corresponding cells in the Tilemap. The color and transform of the corresponding arrays will take precedence over the values from the Tile.
public void SetTiles(NativeArray<Vector3Int> positionArray, Tilemap.TileArray tileArray, NativeArray<Color> colorArray, NativeArray<Matrix4x4> transformArray, bool ignoreLockFlags)

Parameters

An array of positions of tiles on the Tilemap.

tileArray

The array of Tiles to place.

The array of colors for tiles on the Tilemap.

The array of transforms for tiles on the Tilemap.

ignoreLockFlags

Whether to ignore lock flags set in the tile's
TileFlags
when applying color and transform changes from TileChangeData.

Remarks

Refer to Scriptable Tiles and Tilemap for more information.

Examples

// Fills tilemap area with checkerboard pattern of tileA and tileBusing UnityEngine;using UnityEngine.Tilemaps;using Unity.Collections;public class ExampleClass_Native_Color_Transform : MonoBehaviour{ public TileBase tileA; public TileBase tileB; public Vector2Int size; void Start() { NativeArray<Vector3Int> positions = new NativeArray<Vector3Int>(size.x * size.y, Allocator.Temp); Tilemap.TileArray tileArray = new Tilemap.TileArray(positions.Length, Allocator.Temp); NativeArray<Color> colorArray = new NativeArray<Color>(positions.Length, Allocator.Temp); NativeArray<Matrix4x4> transformArray = new NativeArray<Matrix4x4>(positions.Length, Allocator.Temp); for (int index = 0; index < positions.Length; index++) { positions[index] = new Vector3Int(index % size.x, index / size.y, 0); tileArray[index] = index % 2 == 0 ? tileA : tileB; colorArray[index] = index % 2 == 0 ? Color.white : Color.black; transformArray[index] = Matrix4x4.identity; } Tilemap tilemap = GetComponent<Tilemap>(); tilemap.SetTiles(positions, tileArray, colorArray, transformArray, true); }}