Unity-Technologies/UnityCsReference · error · NotSupportedException
PlayerSettings.phoneAppIcon140 is deprecated. Use SetVisualA
Error message
PlayerSettings.phoneAppIcon140 is deprecated. Use SetVisualAssetsImage() instead.
What it means
PlayerSettings.WSA.phoneAppIcon140 is a deprecated static property setter that always throws NotSupportedException. The 140% scale Windows Phone app icon assignment was replaced by SetVisualAssetsImage(string, WSAImageType, WSAImageScale) with type WSAImageType.UWPSquare44x44Logo. It is [Obsolete(..., true)] and [EditorBrowsable(Never)].
Source
Thrown at Editor/Mono/PlayerSettingsWSA.cs:517
throw new NotSupportedException("PlayerSettings.phoneAppIcon is deprecated. Use GetVisualAssetsImage() instead.");
}
set
{
throw new NotSupportedException("PlayerSettings.phoneAppIcon is deprecated. Use SetVisualAssetsImage() instead.");
}
}
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
[Obsolete("Use GetVisualAssetsImage()/SetVisualAssetsImage()", true)]
public static string phoneAppIcon140
{
get
{
throw new NotSupportedException("PlayerSettings.phoneAppIcon140 is deprecated. Use GetVisualAssetsImage() instead.");
}
set
{
throw new NotSupportedException("PlayerSettings.phoneAppIcon140 is deprecated. Use SetVisualAssetsImage() instead.");
}
}
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
[Obsolete("Use GetVisualAssetsImage()/SetVisualAssetsImage()", true)]
public static string phoneAppIcon240
{
get
{
throw new NotSupportedException("PlayerSettings.phoneAppIcon240 is deprecated. Use GetVisualAssetsImage() instead.");
}
set
{
throw new NotSupportedException("PlayerSettings.phoneAppIcon240 is deprecated. Use SetVisualAssetsImage() instead.");
}
}
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]View on GitHub (pinned to 225b0fbdb5)
Solutions
- Replace with PlayerSettings.WSA.SetVisualAssetsImage(path, WSAImageType.UWPSquare44x44Logo, WSAImageScale._150).
- Migrate all phoneAppIcon* variants at once to prevent mixed old/new API usage.
- Replace stale plugin DLLs with versions compatible with the current Unity API.
Example fix
// before
PlayerSettings.WSA.phoneAppIcon140 = "Assets/Icons/appIcon140.png";
// after
PlayerSettings.WSA.SetVisualAssetsImage("Assets/Icons/appIcon140.png", WSAImageType.UWPSquare44x44Logo, WSAImageScale._150); Defensive patterns
Strategy: type-guard
Validate before calling
// Use the new setter for app icon at ~140% scale PlayerSettings.WSA.SetVisualAssetsImage(path, WSAImageType.UWPSquare44x44Logo, WSAImageScale._150);
Type guard
static bool IsDeprecatedWsaProperty(string name) =>
typeof(PlayerSettings.WSA)
.GetProperty(name,
System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static)
?.GetCustomAttribute<ObsoleteAttribute>()?.IsError == true; Prevention
- Replace phoneAppIcon140 assignments with SetVisualAssetsImage using WSAImageScale._150.
- Audit imported packages for stale app icon property references.
- Use the unified API for all app icon scale variants.
When it happens
Trigger: Assigning to PlayerSettings.WSA.phoneAppIcon140 (the setter) in editor scripts, build pipelines, or post-processing. Encountered most through reflection-based code or stale API references.
Common situations: Migrating a UWP build pipeline from an older Unity version; CI scripts that set app icons at multiple scales; third-party packages with stale property references.
Related errors
- PlayerSettings.phoneAppIcon is deprecated. Use GetVisualAsse
- PlayerSettings.phoneAppIcon is deprecated. Use SetVisualAsse
- PlayerSettings.phoneAppIcon140 is deprecated. Use GetVisualA
- PlayerSettings.phoneAppIcon240 is deprecated. Use GetVisualA
- PlayerSettings.storeSmallTile180 is deprecated. Use SetVisua
AI-assisted analysis of Unity-Technologies/UnityCsReference@225b0fbdb5 (2026-08-13).
Data as JSON: /api/errors/691f1d12e198dd0d.
Report an issue: GitHub.