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.
- Check: Use
UnityEditor.PackageManager.Client.List(true)to check forcom.unity.localization. - Install: If missing, use
Client.Add("com.unity.localization"). - Wait: Do not proceed until
Client.Listconfirms installation.
1. Localization Settings & Locales
If LocalizationEditorSettings.ActiveLocalizationSettings is null, you must find or create it:
- Find: Use
AssetDatabase.FindAssets("t:LocalizationSettings"). If found, load the first one and assign it toLocalizationEditorSettings.ActiveLocalizationSettings. - Create: If not found, create a new instance and save it to
Assets/Localization/LocalizationSettings.asset. UseScriptableObject.CreateInstance<LocalizationSettings>()followed byAssetDatabase.CreateAsset(). - Activate: Set
LocalizationEditorSettings.ActiveLocalizationSettings = settings. - 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.