LocalizationSettings
The runtime settings for localization: the available locales, the selected locale, and the resource database.
Read time 6 minutesLast updated 5 days ago
Definition
- Type: Class
- Namespace: Unity.Localization
- Assembly: UnityEngine.LocalizationRuntimeModule
- Inherits from: ScriptableObject
[HelpURL("localization/localization-settings-reference")]public class LocalizationSettings : ScriptableObject
Remarks
This is the central entry point for the standalone localization runtime, and it works with no package installed. One active instance is exposed through LocalizationSettings.Instance; its LocalizationSettings.Database (a ResourceDatabase) resolves localized strings and assets. Locales are held here as plain Locale objects, and everything else refers to a locale by its LocaleIdentifier code, resolved through LocalizationSettings.GetLocale. The locale list is polymorphic (), so locale subclasses such as a pseudo-locale can be added. Register locales with LocalizationSettings.AddLocale; asset providers can contribute more during LocalizationSettings.InitializeAsync. The startup locale is decided by the LocalizationSettings.StartupSelectors. Call LocalizationSettings.InitializeAsync to load locales and select the startup locale.
[SerializeReference]Initializes localization and switches to a specific locale.
Examples
using Unity.Localization;using UnityEngine;namespace Unity.Localization.Samples{ public class InitializeAndSwitchLocaleExample : MonoBehaviour { async void Start() { await LocalizationSettings.InitializeAsync(); Locale french = LocalizationSettings.Instance.GetLocale(new LocaleIdentifier("fr")); if (french != null) LocalizationSettings.SelectedLocale = french; } }}
Static Fields
Value | Description |
|---|---|
| ConfigName | The key under which the active settings are stored as an editor build config object. |
Properties
Property | Description |
|---|---|
| AvailableLocales | The locales registered on this settings instance. |
| Database | The resource database that resolves localized content for this instance. |
| DeferInitialization | Whether the system waits for an explicit call to LocalizationSettings.InitializeAsync before it initializes. |
| IsInitialized | Whether initialization has completed. |
| ProjectLocale | The default project locale used when no other locale is selected. |
| SelectedProvider | The asset provider used as the default when creating new localized content. |
| SmartStringsSettings | The Smart Strings settings whose formatter resolves this project's Smart String entries. |
| StartupSelector | The selector that chose the startup locale, or null when the chain fell through to the project locale. |
| StartupSelectors | The startup locale selectors, evaluated in order to pick the selected locale on initialization. |
Static Properties
Property | Description |
|---|---|
| HasSettings | Whether an active settings instance is registered. |
| Instance | The active settings instance, or null when none is registered. |
| PreferredLoading | The default loading behaviour used by the reference accessors and their change events. |
| PreloadBehavior | The preload behavior the flagged table collections follow. |
| ResourceDatabase | The active resource database, or null when no settings instance is registered. |
| SelectedLocale | The currently selected locale, or null when none is selected. |
Methods
Method | Description |
|---|---|
| AddLocale | Registers a locale as available, deduplicated by locale code. |
| EvaluateStartupLocale | Runs the startup selector chain and returns the locale it produces, without selecting it. |
| GetLocale | Returns the available locale with the given identifier, or null. |
| GetSmartFormatter | Returns the Smart formatter used to format Smart String entries. |
| RemoveLocale | Removes a locale from the available set. |
Static Methods
Method | Description |
|---|---|
| InitializeAsync | Loads the available locales and selects the startup locale, running once. |
Static Events
Member | Description |
|---|---|
| InitializationCompleted | Raised once after initialization completes. |
| SelectedLocaleChanged | Raised after the selected locale changes. |
Inheritance
Operators
Operator | Description |
|---|---|
| operator == | Compares two object references to see if they refer to the same object. |
| bool | Determines whether the object exists. |
| operator != | Compares if two objects refer to a different object. |