Apple(iOS, macOS, tvOS, vision OS) App Localization
The Localization package provides support for localizing values within the xcode Info.plist information property list file. When building for iOS, macOS, tvOS or visionOS, the Localization values are applied to the project during the post build step.
The projects' known regions are populated with the project Locales and an Info.Plist variant is added for each Locale.
To configure the App localization, add the Apple/App Info Metadata to the Localization Settings Metadata.

Note
You must enable the "Create xcode project" build setting to localize macOS app names. When using a version of Unity before 2022.3, the iOS module must be installed. You should add the define ENABLE_LOCALIZATION_XCODE_SUPPORT to the project.
The following fields can be localized in the App:
Values that are not set are left unlocalized and use their default values.
| Name | Info.Plist Key | Description |
|---|---|---|
| Short Name | CFBundleName | The user-visible name for the bundle, used by Siri and visible on the iOS Home screen. This name can contain up to 15 characters. |
| Display Name | CFBundleDisplayName | The user-visible name for the bundle, used by Siri and visible on the iOS Home screen. Use this key if you want a product name that's longer than Bundle Name. |
| Camera Usage Description | NSCameraUsageDescription | A message that tells the user why the app is requesting access to the device’s camera. This replaces the value in the Project Settings. |
| Microphone Usage Description | NSMicrophoneUsageDescription | A message that tells the user why the app is requesting access to the device’s microphone. This replaces the value in the Project Settings. |
| Location Usage Description | NSLocationWhenInUseUsageDescription | A message that tells the user why the app is requesting access to the user’s location information while the app is running in the foreground. This replaces the value in the Project Settings. |
| User Tracking Usage Description | NSUserTrackingUsageDescription | A message that informs the user why an app is requesting permission to use data for tracking the user or the device. |
Configure through script
The App Info can also be configure via script. Please note that this configuration must be completed prior to the application build, otherwise, the changes will not be applied.
using UnityEditor;
using UnityEngine.Localization;
using UnityEngine.Localization.Platform.iOS;
using UnityEngine.Localization.Settings;
public class IosAppInfoExample
{
[MenuItem("Localization/Configure iOS App Info")]
public static void ConfigureAppInfo()
{
var appInfo = LocalizationSettings.Metadata.GetMetadata<AppInfo>();
if (appInfo == null)
{
appInfo = new AppInfo();
LocalizationSettings.Metadata.AddMetadata(appInfo);
}
appInfo.DisplayName = new LocalizedString("My Table", "My Display Name");
EditorUtility.SetDirty(LocalizationSettings.Instance);
}
}