# InitializationCompleted

> Raised once after initialization completes.

## Definition

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

```csharp
[AutoStaticsCleanup]
public static event Action InitializationCompleted
```

### Remarks

Subscribe to this static event to run setup that depends on locales being loaded and the startup locale being selected. It is invoked once, when [LocalizationSettings.InitializeAsync](/engine/6000.7/script-reference/unity/localization/localizationsettings/initializeasync.md) finishes. If initialization has already completed when you subscribe, your handler is not called, so check [LocalizationSettings.IsInitialized](/engine/6000.7/script-reference/unity/localization/localizationsettings/isinitialized.md) first. Because it is static, unsubscribe when your object is destroyed.

Additional Resources: [LocalizationSettings.InitializeAsync](/engine/6000.7/script-reference/unity/localization/localizationsettings/initializeasync.md), [LocalizationSettings.SelectedLocaleChanged](/engine/6000.7/script-reference/unity/localization/localizationsettings/selectedlocalechanged.md)

Runs code once localization is ready.

### Examples

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

namespace Unity.Localization.Samples
{
    public class InitializationCompletedExample : MonoBehaviour
    {
        void Setup()
        {
            if (LocalizationSettings.Instance.IsInitialized)
                OnReady();
            else
                LocalizationSettings.InitializationCompleted += OnReady;
        }

        void OnReady() => Debug.Log("Localization ready");
    }
}
```
