# SetPlatformIcons

> Assign a list of icons for the specified build target and platform icon kind.

## Definition

* **Type:** Method
* **Namespace:** [UnityEditor](/engine/6000.6/script-reference/unityeditor.md)
* **Assembly:** UnityEditor.CoreModule

## SetPlatformIcons(BuildTargetGroup, PlatformIconKind, PlatformIcon\[])

Assign a list of icons for the specified build target and platform icon kind.

> **Warning:**
>
> **Deprecated.** Use SetPlatformIcons(NamedBuildTarget , PlatformIconKind) instead

```csharp
public static void SetPlatformIcons(BuildTargetGroup platform, PlatformIconKind kind, PlatformIcon[] icons)
```

### Parameters

**** (\[BuildTargetGroup]\(/engine/6000.6/script-reference/unityeditor/buildtargetgroup)): **** (\[PlatformIconKind]\(/engine/6000.6/script-reference/unityeditor/platformiconkind)): The [PlatformIconKind](/engine/6000.6/script-reference/unityeditor/platformiconkind.md) for the platform.**** (\[PlatformIcon\[]]\(/engine/6000.6/script-reference/unityeditor/platformicon)): The [PlatformIcon](/engine/6000.6/script-reference/unityeditor/platformicon.md) array from [PlayerSettings.GetPlatformIcons](/engine/6000.6/script-reference/unityeditor/playersettings/getplatformicons.md) for the same build target and kind. The array length must match the required slot count. Fill each slot with [PlatformIcon.SetTexture](/engine/6000.6/script-reference/unityeditor/platformicon/settexture.md) or [PlatformIcon.SetTextures](/engine/6000.6/script-reference/unityeditor/platformicon/settextures.md).

### Remarks

The icons array must be the one returned by [PlayerSettings.GetPlatformIcons](/engine/6000.6/script-reference/unityeditor/playersettings/getplatformicons.md) for the same build target and kind; texture assets must be in the project. The [BuildTargetGroup](/engine/6000.6/script-reference/unityeditor/buildtargetgroup.md) overload is marked for deprecation in the future; use the [NamedBuildTarget](/engine/6000.6/script-reference/unityeditor/build/namedbuildtarget.md) overload instead.

Additional Resources: [PlayerSettings.GetPlatformIcons](/engine/6000.6/script-reference/unityeditor/playersettings/getplatformicons.md), [PlatformIcon.SetTexture](/engine/6000.6/script-reference/unityeditor/platformicon/settexture.md), [PlatformIcon.SetTextures](/engine/6000.6/script-reference/unityeditor/platformicon/settextures.md).

Example: Set application icons for an Android application with the Editor script. Place the script in the `Editor` folder.

```csharp
using UnityEditor.Android;
using UnityEditor;
using UnityEngine;
using UnityEditor.Build;

public static class AndroidPlayerSettingsUtility
{
    // `Adaptive` icons for Android require a background and foreground layer for each icon
    public static void SetIcons(Texture2D[][] textures)
    {
        NamedBuildTarget platform = NamedBuildTarget.Android;
        PlatformIconKind kind = AndroidPlatformIconKind.Adaptive;

        PlatformIcon[] icons = PlayerSettings.GetPlatformIcons(platform, kind);

        //Assign textures to each available icon slot.
        for (int i = 0; i < icons.Length; i++)
        {
            icons[i].SetTextures(textures[i]);
        }
        PlayerSettings.SetPlatformIcons(platform, kind, icons);
    }
}
```

Example: Set application icons for an iOS application with the Editor script. Place the script in the `Editor` folder.

```csharp
using UnityEditor.iOS;
using UnityEditor;
using UnityEngine;
using UnityEditor.Build;

public static class iOSPlayerSettingsUtility
{
    // Setting all `App` icons for iOS
    public static void SetAppIcons(Texture2D[] textures)
    {
        NamedBuildTarget platform = NamedBuildTarget.iOS;
        PlatformIconKind kind = iOSPlatformIconKind.Application;

        PlatformIcon[] icons = PlayerSettings.GetPlatformIcons(platform, kind);

        //Assign textures to each available icon slot.
        for (int i = 0; i < icons.Length; i++)
        {
            icons[i].SetTextures(textures[i]);
        }
        PlayerSettings.SetPlatformIcons(platform, kind, icons);
    }
}
```

## SetPlatformIcons(NamedBuildTarget, PlatformIconKind, PlatformIcon\[])

Assign a list of icons for the specified build target and platform icon kind.

```csharp
public static void SetPlatformIcons(NamedBuildTarget buildTarget, PlatformIconKind kind, PlatformIcon[] icons)
```

### Parameters

**** (\[NamedBuildTarget]\(/engine/6000.6/script-reference/unityeditor/build/namedbuildtarget)): The [NamedBuildTarget](/engine/6000.6/script-reference/unityeditor/build/namedbuildtarget.md).**** (\[PlatformIconKind]\(/engine/6000.6/script-reference/unityeditor/platformiconkind)): The [PlatformIconKind](/engine/6000.6/script-reference/unityeditor/platformiconkind.md) for the platform.**** (\[PlatformIcon\[]]\(/engine/6000.6/script-reference/unityeditor/platformicon)): The [PlatformIcon](/engine/6000.6/script-reference/unityeditor/platformicon.md) array from [PlayerSettings.GetPlatformIcons](/engine/6000.6/script-reference/unityeditor/playersettings/getplatformicons.md) for the same build target and kind. The array length must match the required slot count. Fill each slot with [PlatformIcon.SetTexture](/engine/6000.6/script-reference/unityeditor/platformicon/settexture.md) or [PlatformIcon.SetTextures](/engine/6000.6/script-reference/unityeditor/platformicon/settextures.md).

### Remarks

The icons array must be the one returned by [PlayerSettings.GetPlatformIcons](/engine/6000.6/script-reference/unityeditor/playersettings/getplatformicons.md) for the same build target and kind; texture assets must be in the project. The [BuildTargetGroup](/engine/6000.6/script-reference/unityeditor/buildtargetgroup.md) overload is marked for deprecation in the future; use the [NamedBuildTarget](/engine/6000.6/script-reference/unityeditor/build/namedbuildtarget.md) overload instead.

Additional Resources: [PlayerSettings.GetPlatformIcons](/engine/6000.6/script-reference/unityeditor/playersettings/getplatformicons.md), [PlatformIcon.SetTexture](/engine/6000.6/script-reference/unityeditor/platformicon/settexture.md), [PlatformIcon.SetTextures](/engine/6000.6/script-reference/unityeditor/platformicon/settextures.md).

Example: Set application icons for an Android application with the Editor script. Place the script in the `Editor` folder.

```csharp
using UnityEditor.Android;
using UnityEditor;
using UnityEngine;
using UnityEditor.Build;

public static class AndroidPlayerSettingsUtility
{
    // `Adaptive` icons for Android require a background and foreground layer for each icon
    public static void SetIcons(Texture2D[][] textures)
    {
        NamedBuildTarget platform = NamedBuildTarget.Android;
        PlatformIconKind kind = AndroidPlatformIconKind.Adaptive;

        PlatformIcon[] icons = PlayerSettings.GetPlatformIcons(platform, kind);

        //Assign textures to each available icon slot.
        for (int i = 0; i < icons.Length; i++)
        {
            icons[i].SetTextures(textures[i]);
        }
        PlayerSettings.SetPlatformIcons(platform, kind, icons);
    }
}
```

Example: Set application icons for an iOS application with the Editor script. Place the script in the `Editor` folder.

```csharp
using UnityEditor.iOS;
using UnityEditor;
using UnityEngine;
using UnityEditor.Build;

public static class iOSPlayerSettingsUtility
{
    // Setting all `App` icons for iOS
    public static void SetAppIcons(Texture2D[] textures)
    {
        NamedBuildTarget platform = NamedBuildTarget.iOS;
        PlatformIconKind kind = iOSPlatformIconKind.Application;

        PlatformIcon[] icons = PlayerSettings.GetPlatformIcons(platform, kind);

        //Assign textures to each available icon slot.
        for (int i = 0; i < icons.Length; i++)
        {
            icons[i].SetTextures(textures[i]);
        }
        PlayerSettings.SetPlatformIcons(platform, kind, icons);
    }
}
```
