# GetSecondaryTextures(SecondarySpriteTexture[])

> Retrieves an array of SecondarySpriteTexture used by the Sprite.

## Definition

* **Type:** Method
* **Namespace:** [UnityEngine](/engine/6000.0/script-reference/unityengine.md)
* **Assembly:** UnityEngine.CoreModule

```csharp
public int GetSecondaryTextures(SecondarySpriteTexture[] secondaryTexture)
```

### Parameters

**** (\[SecondarySpriteTexture\[]]\(/engine/6000.0/script-reference/unityengine/secondaryspritetexture)): The array of [SecondarySpriteTexture](/engine/6000.0/script-reference/unityengine/secondaryspritetexture.md) to contain the Secondary Textures properties used by the Sprite.

### Returns

| Type                                                       | Description                                                    |
| ---------------------------------------------------------- | -------------------------------------------------------------- |
| [int](https://learn.microsoft.com/dotnet/api/system.int32) | Returns the number of Secondary Textures properties retrieved. |

### Remarks

If the size of the arrays passed in as parameters are less than the number of [SecondarySpriteTexture](/engine/6000.0/script-reference/unityengine/secondaryspritetexture.md) used by the sprite, the arrays will not be resized and the results will be limited.

If the size of the arrays passed in as parameters are bigger than the number of [SecondarySpriteTexture](/engine/6000.0/script-reference/unityengine/secondaryspritetexture.md) used by the sprite, the number of elements used in the array will be indicated by the return value of the method.

### Examples

```csharp
using UnityEngine;

// Create a Sprite with Secondary Texture properties and retrieves the
// Secondary Texture properties with various input parameter array length.

public class ExampleClass : MonoBehaviour
{
    void Start()
    {
        var texture = new Texture2D(64, 64);
        var secondaryTexture1 = new Texture2D(64, 64);
        var secondaryTexture2 = new Texture2D(64, 64);
        var secondaryTexture3 = new Texture2D(64, 64);
        var secondarySpriteTexture = new[]
        {
            new SecondarySpriteTexture()
            {
                name = "_SecondaryTexture1",
                texture = secondaryTexture1
            },
            new SecondarySpriteTexture()
            {
                name = "_SecondaryTexture2",
                texture = secondaryTexture2
            },
            new SecondarySpriteTexture()
            {
                name = "_SecondaryTexture3",
                texture = secondaryTexture3
            }
        };

        var sprite = Sprite.Create(texture, new Rect(0, 0, texture.width, texture.height), Vector2.zero, 100, 0, SpriteMeshType.FullRect, Vector4.zero, false, secondarySpriteTexture);
        var secondarySpriteTextureResult = new SecondarySpriteTexture[2];
        var resultCount = sprite.GetSecondaryTextures(secondarySpriteTextureResult);
        // There are 3 Secondary Textures, but the array is only size of 2, so the entire array is used
        print(resultCount);
        for (var i = 0; i < resultCount; ++i)
        {
            // This will print
            //_SecondaryTexture1
            //_SecondaryTexture2
            print(secondarySpriteTextureResult[i].name);
        }

        secondarySpriteTextureResult = new SecondarySpriteTexture[4];
        resultCount = sprite.GetSecondaryTextures(secondarySpriteTextureResult);
        // There are 3 Secondary Textures, but the array is only size of 4, so only 3 will be used
        print(resultCount);
        for (var i = 0; i < resultCount; ++i)
        {
            // This will print
            //_SecondaryTexture1
            //_SecondaryTexture2
            //_SecondaryTexture3
            print(secondarySpriteTextureResult[i].name);
        }
    }
}
```
