Unity-Technologies/UnityCsReference · error · NotSupportedException
PlayerSettings.storeSmallTile180 is deprecated. Use SetVisua
Error message
PlayerSettings.storeSmallTile180 is deprecated. Use SetVisualAssetsImage() instead.
What it means
PlayerSettings.WSA.storeSmallTile180 is a deprecated static property setter that always throws NotSupportedException. Unity retired the per-scale-factor string properties (from the Windows 8.1 era) in favor of a unified GetVisualAssetsImage(WSAImageType, WSAImageScale) / SetVisualAssetsImage(string, WSAImageType, WSAImageScale) API that covers all UWP image assets. The property is also marked [Obsolete(..., true)] making it a compile error, and [EditorBrowsable(Never)] hiding it from IntelliSense.
Source
Thrown at Editor/Mono/PlayerSettingsWSA.cs:391
throw new NotSupportedException("PlayerSettings.storeSmallTile140 is deprecated. Use GetVisualAssetsImage() instead.");
}
set
{
throw new NotSupportedException("PlayerSettings.storeSmallTile140 is deprecated. Use SetVisualAssetsImage() instead.");
}
}
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
[Obsolete("Use GetVisualAssetsImage()/SetVisualAssetsImage()", true)]
public static string storeSmallTile180
{
get
{
throw new NotSupportedException("PlayerSettings.storeSmallTile180 is deprecated. Use GetVisualAssetsImage() instead.");
}
set
{
throw new NotSupportedException("PlayerSettings.storeSmallTile180 is deprecated. Use SetVisualAssetsImage() instead.");
}
}
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
[Obsolete("Use GetVisualAssetsImage()/SetVisualAssetsImage()", true)]
public static string storeLargeTile80
{
get
{
throw new NotSupportedException("PlayerSettings.storeLargeTile80 is deprecated. Use GetVisualAssetsImage() instead.");
}
set
{
throw new NotSupportedException("PlayerSettings.storeLargeTile80 is deprecated. Use SetVisualAssetsImage() instead.");
}
}
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]View on GitHub (pinned to 225b0fbdb5)
Solutions
- Replace the assignment with PlayerSettings.WSA.SetVisualAssetsImage(path, WSAImageType.UWPSquare71x71Logo, WSAImageScale._200) — the 180% legacy scale maps closest to the UWP _200 scale.
- If compiling against an older API that lacks the new methods, bump the Unity editor version requirement in the project or plugin.
- Search the codebase (including DLL references) for 'storeSmallTile180' and migrate all call sites at once.
Example fix
// before
PlayerSettings.WSA.storeSmallTile180 = "Assets/Icons/smallTile.png";
// after
PlayerSettings.WSA.SetVisualAssetsImage("Assets/Icons/smallTile.png", WSAImageType.UWPSquare71x71Logo, WSAImageScale._200); Defensive patterns
Strategy: type-guard
Validate before calling
// Before accessing, verify the property still exists and prefer the new API:
// Check Unity version to gate the code path
#if !UNITY_5 && !UNITY_2017 // old API removed in newer versions
PlayerSettings.WSA.SetVisualAssetsImage(path, WSAImageType.UWPSquare71x71Logo, WSAImageScale._200);
#endif Type guard
// Type-check via reflection before invoking, to avoid NotSupportedException
static bool IsDeprecatedWsaProperty(string name) =>
typeof(PlayerSettings.WSA)
.GetProperty(name,
System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static)
?.GetCustomAttribute<ObsoleteAttribute>()?.IsError == true; Prevention
- Never reference storeSmallTile180 or any store*Tile* property directly — use SetVisualAssetsImage/GetVisualAssetsImage with explicit WSAImageType and WSAImageScale.
- When upgrading Unity, run a full-text search for 'PlayerSettings.WSA.store' to find all deprecated references.
- Keep editor build scripts version-gated with #if preprocessor directives when supporting multiple Unity versions.
When it happens
Trigger: Assigning a value to PlayerSettings.WSA.storeSmallTile180 (the setter) in any editor script, build pipeline, or post-processing code. Because [Obsolete(..., true)] turns direct calls into compile errors, this is most often hit via reflection (e.g. SerializedObject/SerializedProperty paths, or scripts compiled against an older Unity API surface that resolved to this member).
Common situations: Upgrading a project from Unity 5.x / Windows 8.1 era to a modern Unity version that only ships the UWP image API; using third-party editor tooling or asset-store plugins that reference the old property names; CI build scripts that set WSA tile images programmatically.
Related errors
- PlayerSettings.storeLargeTile80 is deprecated. Use GetVisual
- PlayerSettings.storeLargeTile80 is deprecated. Use SetVisual
- PlayerSettings.storeLargeTile is deprecated. Use GetVisualAs
- PlayerSettings.storeLargeTile is deprecated. Use SetVisualAs
- PlayerSettings.storeLargeTile140 is deprecated. Use GetVisua
AI-assisted analysis of Unity-Technologies/UnityCsReference@225b0fbdb5 (2026-08-13).
Data as JSON: /api/errors/0c14afe214896a8c.
Report an issue: GitHub.