# IStartupLocaleInitialize

> Optional hook a startup selector implements to run code once after initialization completes.

## Definition

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

```csharp
public interface IStartupLocaleInitialize
```

## Remarks

Implement this interface alongside [IStartupLocaleSelector](/engine/6000.7/script-reference/unity/localization/istartuplocaleselector.md) when a selector needs one-time setup after the startup locale is chosen, for example subscribing to [LocalizationSettings.SelectedLocaleChanged](/engine/6000.7/script-reference/unity/localization/localizationsettings/selectedlocalechanged.md) to persist later locale changes. [LocalizationSettings.InitializeAsync](/engine/6000.7/script-reference/unity/localization/localizationsettings/initializeasync.md) calls [IStartupLocaleInitialize.PostInitialize](/engine/6000.7/script-reference/unity/localization/istartuplocaleinitialize/postinitialize.md) on each selector that implements this interface once initialization has finished. [PlayerPrefLocaleSelector](/engine/6000.7/script-reference/unity/localization/playerpreflocaleselector.md) uses this hook to save the selected locale.

Additional Resources: [IStartupLocaleSelector](/engine/6000.7/script-reference/unity/localization/istartuplocaleselector.md), [LocalizationSettings](/engine/6000.7/script-reference/unity/localization/localizationsettings.md)

A selector that logs the chosen locale after startup.

## Examples

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

namespace Unity.Localization.Samples
{
    public class LoggingLocaleSelectorExample : IStartupLocaleSelector, IStartupLocaleInitialize
    {
        public Locale GetStartupLocale(LocalizationSettings settings) => null;

        public void PostInitialize(LocalizationSettings settings)
        {
            Debug.Log($"Startup locale: {LocalizationSettings.SelectedLocale?.Code}");
        }
    }
}
```

## Methods

| Method                                                                                                          | Description                                                    |
| --------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- |
| [PostInitialize](/engine/6000.7/script-reference/unity/localization/istartuplocaleinitialize/postinitialize.md) | Runs one-time setup once the startup locale has been selected. |
