# Localization settings reference

> Explore the Localization project settings to add locales, choose the startup language, and configure how localized content loads.

Explore the Localization project settings to add locales, choose the startup language, and configure how localized content loads.

Open the settings with **Edit** > Editor > **Localization**. The page edits the project's [`LocalizationSettings`](/engine/6000.7/script-reference/unity/localization/localizationsettings.md) asset.

## Set up localization

Before the settings asset exists, the page shows a **Create localization settings** button and asks where to save the asset. Setup then walks through adding locales, choosing the project locale, and choosing how the settings reference localized content:

| **Reference mode**    | **Description**                                                                                                                                                                                 |
| --------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Direct references** | Loads content through the built-in content sources. This is the default.                                                                                                                        |
| **Addressables**      | Loads content through the Addressables system. When you select this mode, Unity installs the `com.unity.localization` package (version 2.0 or newer), which includes the Addressables provider. |

## Localization settings

The **Localization** settings page contains the following settings.

### Locales

The locale list shows every locale in the project. Each row has the following controls:

| **Setting**        | **Description**                                                                            |
| ------------------ | ------------------------------------------------------------------------------------------ |
| **Enabled** toggle | Sets whether the locale is available at runtime. A disabled locale keeps its translations. |
| **Fallback**       | Sets the locale a value lookup retries with when this locale has no value.                 |

Below the list, the following buttons manage the locales themselves:

| **Button**         | **Description**                                                                          |
| ------------------ | ---------------------------------------------------------------------------------------- |
| **Add** (**+**)    | Opens the **Add locales** window, where you search the known cultures and add languages. |
| **Remove** (**−**) | Removes the selected locale from the project.                                            |

When one or more locales can't be loaded because a defining script or package is missing, the settings page shows a warning and a **Remove unresolved locales** button above the list. Selecting the button removes all such locales, which appear as **Unresolved** in the list.

Refer to [Locales](/engine/6000.7/manual/localization/locales.md) for the underlying concepts, including fallbacks and disabled locales.

### Project locale

Sets the default locale that the application selects at startup, and the locale a discovered language falls back to. The page warns when you disable the project locale. Refer to [Locales](/engine/6000.7/manual/localization/locales.md).

### Startup selectors

Lists the selectors that pick the language at startup, which are evaluated in the order they appear in the list. Localization uses the first selector that returns an enabled locale. You can add, remove, and reorder the selectors in the list. The built-in selectors are **Specific Locale Selector**, **Command Line Locale Selector**, **System Locale Selector**, and **Player Pref Locale Selector**. Your own custom selectors appear in the add menu automatically.

Refer to [Startup locale selection](/engine/6000.7/manual/localization/locales.md#startup-locale-selection) for what each selector does and how to add them, and to [Create a custom startup locale selector](/engine/6000.7/manual/localization/examples/example-custom-startup-locale-selector.md) for writing your own.

### Defer initialization

When enabled, localization doesn't initialize automatically at startup. Call [`InitializeAsync`](/engine/6000.7/script-reference/unity/localization/localizationsettings/initializeasync.md) yourself when you're ready. Use this option to control when initialization runs, for example to gate it behind a splash screen or a specific scene. Refer to [Synchronous and asynchronous loading](/engine/6000.7/manual/localization/content-storage-and-loading/synchronous-and-asynchronous-loading.md).

### Content sources

Lists the sources that store and load table collections and their assets, for example **Direct references**, **Resources folder**, and **Data files (JSON)**. Each source type can appear once, and each source's own options appear inline. For a data-file source, the options include its `StreamingAssets` subfolder and its **Play Mode Source** setting. **Default for new collections** sets the source Unity assigns a new collection to.

Refer to [Content sources](/engine/6000.7/manual/localization/content-storage-and-loading/content-sources.md) for how sources work and [Data file tables](/engine/6000.7/manual/localization/content-storage-and-loading/data-file-tables.md) for the data-file source in particular.

## Additional resources

* [Get started with localization](/engine/6000.7/manual/get-started.md)
* [Locales](/engine/6000.7/manual/localization/locales.md)
* [Content sources](/engine/6000.7/manual/localization/content-storage-and-loading/content-sources.md)
