Skip to content

Localization System

Danae Dekker edited this page Aug 18, 2026 · 1 revision

The localization system is the component that handles the localization process, from loading and selecting locales to formatting strings.

Locale Loaders

When the Localization System is enabled, it uses the defined Locale Loaders on the game object to load the available locales and store them in the internal state of the system. The following Locale Loaders can be added to the localization system:

  • Persistent Locale Loader: Loads all locales that are added in the list in the component. This can be used to load predefined locales made by the developers.

  • Streaming Assets Locale Loader: Loads all locales in the StreamingAssets folder of the game build. This can be used to allow players to add their own locales to the game. Rge

All loaders have a Priority field to define the order in which they will be executed, and an Execution Mode field that restricts when they will be executed, e.g. only in a development or release build or only in the editor, or a combination thereof.

Locale Selectors

When the Localization System is enabled, it uses the defined Locale Loaders on the game object to select the current locale used to format strings out of the loaded locales. The following Locale Selectors can be added to the localization system:

  • Command Line Locale Selector: Selects the locale with the code specified in a command line argument. The argument has the form of -language=, but the name can be customized.

  • System Locale Selector: Selects the locale that matches the language of your system, based on the culture info or the Unity system language, or both.

  • Specific Locale Selector: Selects the locale specified in the component. This can be used to load a default locale when no other selector was able to select a locale.

If the Steam Localization Integration package is installed, the following Locale Selectors will be added to the line-up:

  • Steam Locale Selector: Selects the locale that matches the game language fetched from the SteamWorks API. The locale should define an alternative code that matches one of the SteamWorks language codes.

All selectors have a Priority field to define the order in which they will be executed, and an Execution Mode field that restricts when they will be executed, e.g. only in a development or release build or only in the editor, or a combination thereof.

Clone this wiki locally