# GetLocalizedAssetAsync()

> Loads the localized asset asynchronously through the resource database.

## Definition

* **Type:** Method
* **Namespace:** [Unity.Localization](/engine/6000.7/script-reference/unity/localization.md)
* **Assembly:** UnityEngine.LocalizationRuntimeModule

```csharp
public Awaitable<TObject> GetLocalizedAssetAsync()
```

### Returns

| Type                                                                      | Description                                                                      |
| ------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
| [Awaitable\<T>](/engine/6000.7/script-reference/unityengine/awaitable.md) | An awaitable that produces the loaded asset, or null when it cannot be resolved. |

### Remarks

Resolves the asset as `TObject` through the [ResourceDatabase](/engine/6000.7/script-reference/unity/localization/resourcedatabase.md) provider chain, loading the table if needed. The result is null when the reference is empty, no resource database is configured, or the asset cannot be found. When [LocalizationSettings.PreferredLoading](/engine/6000.7/script-reference/unity/localization/localizationsettings/preferredloading.md) is [LoadingPreference.Synchronous](/engine/6000.7/script-reference/unity/localization/loadingpreference/synchronous.md) and the asset is available synchronously, the asset resolves without an asynchronous load.

Load a localized asset.

### Examples

```csharp
using Unity.Localization;
using UnityEngine;

namespace Unity.Localization.Samples
{
    public class LocalizedAssetLoadAsyncExample
    {
        public async Awaitable Load()
        {
            var localizedTexture = new LocalizedTexture();
            localizedTexture.SetReference("My Assets", "ICON");
            var texture = await localizedTexture.GetLocalizedAssetAsync();
            if (texture != null)
                Debug.Log(texture.name);
        }
    }
}
```
