Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


Localization settings reference

Explore the Localization project settings to add locales, choose the startup language, and configure how localized content loads.
Read time 3 minutesLast updated 6 days ago

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

?

> Localization. The page edits the project's
LocalizationSettings
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 referencesLoads content through the built-in content sources. This is the default.
AddressablesLoads 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 toggleSets whether the locale is available at runtime. A disabled locale keeps its translations.
FallbackSets 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 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.

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 for what each selector does and how to add them, and to Create a custom startup locale selector for writing your own.

Defer initialization

When enabled, localization doesn't initialize automatically at startup. Call
InitializeAsync
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.

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 for how sources work and Data file tables for the data-file source in particular.

Additional resources