localization

Installation
SKILL.md

This guide covers setting up and configuring Unity Localization, including locales, String and Asset Tables, Addressables integration, and CJK font support via Asset Tables.

0. Package Installation Check

Before doing anything else, verify that the Localization packages is installed. Many APIs in this skill will fail silently or throw confusing errors if the package isn't present.

  1. Check: Use UnityEditor.PackageManager.Client.List(true) to check for com.unity.localization.
  2. Install: If missing, use Client.Add("com.unity.localization").
  3. Wait: Do not proceed until Client.List confirms installation.

1. Localization Settings & Locales

If LocalizationEditorSettings.ActiveLocalizationSettings is null, you must find or create it:

  1. Find: Use AssetDatabase.FindAssets("t:LocalizationSettings"). If found, load the first one and assign it to LocalizationEditorSettings.ActiveLocalizationSettings.
  2. Create: If not found, create a new instance and save it to Assets/Localization/LocalizationSettings.asset. Use ScriptableObject.CreateInstance<LocalizationSettings>() followed by AssetDatabase.CreateAsset().
  3. Activate: Set LocalizationEditorSettings.ActiveLocalizationSettings = settings.
  4. Locales: Ensure locales (en, fr, de, etc.) exist. Create them if missing and add them to settings using LocalizationEditorSettings.AddLocale(locale).

2. Modifying Localization Tables

Programmatic changes to String or Asset tables require notification to the Editor. Always create the required asset tables, unless there is already an existing one in the project.

Installs
2.0K
GitHub Stars
747
First Seen
Aug 13, 2026
localization — unity-technologies/skills