# Icons

> Holds one localized Android launcher icon per screen density.

## Definition

* **Type:** Class
* **Namespace:** [Unity.Localization.Android](/engine/7000.0/script-reference/unity/localization/android.md)
* **Assembly:** UnityEngine.LocalizationRuntimeModule

```csharp
public class Icons
```

## Remarks

Android keeps a separate icon per screen density and picks the closest match for the device, so this type holds one texture for each. Assign every density: Android matches the locale before the density, so a locale that supplies only some densities still wins for the rest and the device scales the wrong size instead of taking the icon from the Player Settings. Unity writes a locale only when all of its densities resolve, and reports the ones missing. Leaving the whole set empty is the way to keep the Player Settings icons for a locale.

Additional Resources: [AppInfo](/engine/7000.0/script-reference/unity/localization/android/appinfo.md), [IconDensity](/engine/7000.0/script-reference/unity/localization/android/icondensity.md), [LocalizedTexture](/engine/7000.0/script-reference/unity/localization/localizedtexture.md)

Assign a localized icon for one density.

## Examples

```csharp
using Unity.Localization;
using Android = Unity.Localization.Android;

namespace Unity.Localization.Samples
{
    public class AndroidIconsExample
    {
        // Every density has to be assigned, or the locale keeps the icons from the Player Settings.
        static readonly (Android.IconDensity density, string key)[] k_Icons =
        {
            (Android.IconDensity.Low, "Launcher Icon ldpi"),
            (Android.IconDensity.Medium, "Launcher Icon mdpi"),
            (Android.IconDensity.High, "Launcher Icon hdpi"),
            (Android.IconDensity.ExtraHigh, "Launcher Icon xhdpi"),
            (Android.IconDensity.ExtraExtraHigh, "Launcher Icon xxhdpi"),
            (Android.IconDensity.ExtraExtraExtraHigh, "Launcher Icon xxxhdpi")
        };

        public void Run(Android.AppInfo appInfo)
        {
            foreach (var (density, key) in k_Icons)
                appInfo.LegacyIcons.GetIcon(density).SetReference("App Icons", key);
        }
    }
}
```

## Methods

| Method                                                                                 | Description                                      |
| -------------------------------------------------------------------------------------- | ------------------------------------------------ |
| [GetIcon](/engine/7000.0/script-reference/unity/localization/android/icons/geticon.md) | Returns the icon assigned for a density.         |
| [IsEmpty](/engine/7000.0/script-reference/unity/localization/android/icons/isempty.md) | Reports whether no density has an icon assigned. |
