# GetUsedSprites

> Returns a Tilemap.SpriteArray containing the unique Sprite instances used in the Tilemap. The array is allocated using the given Allocator.

## Definition

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

## GetUsedSprites(Allocator)

Returns a [Tilemap.SpriteArray](/engine/6000.7/script-reference/unityengine/tilemaps/tilemap/spritearray.md) containing the unique [Sprite](/engine/6000.7/script-reference/unityengine/sprite.md) instances used in the [Tilemap](/engine/6000.7/script-reference/unityengine/tilemaps/tilemap.md). The array is allocated using the given Allocator.

```csharp
public Tilemap.SpriteArray GetUsedSprites(Allocator allocator = Allocator.Temp)
```

### Parameters

**** (\[Allocator]\(/engine/6000.7/script-reference/unity/collections/allocator)): The allocator type used to allocate the memory for the [Tilemap.SpriteArray](/engine/6000.7/script-reference/unityengine/tilemaps/tilemap/spritearray.md). The default value is [Allocator.Temp](/engine/6000.7/script-reference/unity/collections/allocator/temp.md).

### Returns

| Type                                                                                       | Description                                                                                                                                                                                                                                                                                   |
| ------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [SpriteArray](/engine/6000.7/script-reference/unityengine/tilemaps/tilemap/spritearray.md) | A [Tilemap.SpriteArray](/engine/6000.7/script-reference/unityengine/tilemaps/tilemap/spritearray.md) containing the all unique [Sprite](/engine/6000.7/script-reference/unityengine/sprite.md) assets used in the [Tilemap](/engine/6000.7/script-reference/unityengine/tilemaps/tilemap.md). |

### Remarks

The Allocator must be either [Allocator.Temp](/engine/6000.7/script-reference/unity/collections/allocator/temp.md) or [Allocator.Persistent](/engine/6000.7/script-reference/unity/collections/allocator/persistent.md).

### Examples

```csharp
 // Retrieves all used Sprites from a Tilemap and prints out the Sprite names to console
using UnityEngine;
using UnityEngine.Tilemaps;

public class TilemapExample1 : MonoBehaviour
{
    void Start()
    {
        Tilemap tilemap = GetComponent<Tilemap>();
        using var usedSprites = tilemap.GetUsedSprites(); // Will call SpriteArray.Dispose() once it is out of scope
        foreach (var sprite in usedSprites)
        {
            print(sprite.name);
        }
    }
}
```

## GetUsedSprites(MemoryLabel)

Returns a [Tilemap.SpriteArray](/engine/6000.7/script-reference/unityengine/tilemaps/tilemap/spritearray.md) containing the unique [Sprite](/engine/6000.7/script-reference/unityengine/sprite.md) instances used in the [Tilemap](/engine/6000.7/script-reference/unityengine/tilemaps/tilemap.md). The array is allocated using the given Allocator.

```csharp
public Tilemap.SpriteArray GetUsedSprites(MemoryLabel memoryLabel)
```

### Parameters

**** (\[MemoryLabel]\(/engine/6000.7/script-reference/unity/collections/memorylabel)): Memory label used for profiling and tracking this memory allocation in Unity.

### Returns

| Type                                                                                       | Description                                                                                                                                                                                                                                                                                   |
| ------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [SpriteArray](/engine/6000.7/script-reference/unityengine/tilemaps/tilemap/spritearray.md) | A [Tilemap.SpriteArray](/engine/6000.7/script-reference/unityengine/tilemaps/tilemap/spritearray.md) containing the all unique [Sprite](/engine/6000.7/script-reference/unityengine/sprite.md) assets used in the [Tilemap](/engine/6000.7/script-reference/unityengine/tilemaps/tilemap.md). |

### Examples

```csharp
 // Retrieves all used Sprites from a Tilemap and prints out the Sprite names to console
using Unity.Collections;
using UnityEngine;
using UnityEngine.Tilemaps;

public class TilemapExample2 : MonoBehaviour
{
    static readonly MemoryLabel kMemoryLabel = new MemoryLabel("TilemapExample", "Get", Allocator.Domain);

    void Start()
    {
        Tilemap tilemap = GetComponent<Tilemap>();
        using var usedSprites = tilemap.GetUsedSprites(kMemoryLabel); // Will call SpriteArray.Dispose() once it is out of scope
        foreach (var sprite in usedSprites)
        {
            print(sprite.name);
        }
    }
}
```
