Unity-Technologies/UnityCsReference · error · NotSupportedException
PlayerSettings.storeTileLogo80 is deprecated. Use GetVisualA
Error message
PlayerSettings.storeTileLogo80 is deprecated. Use GetVisualAssetsImage() instead.
What it means
Reading PlayerSettings.WSA.storeTileLogo80 throws NotSupportedException with a deprecation message directing you to GetVisualAssetsImage(). The property is annotated [Obsolete("Use GetVisualAssetsImage()/SetVisualAssetsImage()", true)] and [EditorBrowsable(Never)], so direct source references are compile-time errors (CS0619); the runtime throw only fires for reflective, dynamic, or pre-compiled callers. storeTileLogo80 was the 80x80 store tile logo; the replacement API takes a WSAImageType plus WSAImageScale pair.
Source
Thrown at Editor/Mono/PlayerSettingsWSA.cs:177
try
{
return (bool)System.ComponentModel.TypeDescriptor.GetConverter(typeof(bool)).ConvertFromString(stringValue);
}
catch
{
Debug.LogError("Failed to parse value ('" + family + "," + stringValue + "') to bool type.");
return false;
}
}
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
[Obsolete("Use GetVisualAssetsImage()/SetVisualAssetsImage()", true)]
public static string storeTileLogo80
{
get
{
throw new NotSupportedException("PlayerSettings.storeTileLogo80 is deprecated. Use GetVisualAssetsImage() instead.");
}
set
{
throw new NotSupportedException("PlayerSettings.storeTileLogo80 is deprecated. Use SetVisualAssetsImage() instead.");
}
}
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
[Obsolete("Use GetVisualAssetsImage()/SetVisualAssetsImage()", true)]
public static string storeTileLogo
{
get
{
throw new NotSupportedException("PlayerSettings.storeTileLogo is deprecated. Use GetVisualAssetsImage() instead.");
}
set
{
throw new NotSupportedException("PlayerSettings.storeTileLogo is deprecated. Use SetVisualAssetsImage() instead.");View on GitHub (pinned to 225b0fbdb5)
Solutions
- Recompile the calling assembly against the current editor so the CS0619 error surfaces, then migrate the call.
- Replace the read with PlayerSettings.WSA.GetVisualAssetsImage(WSAImageType.UWPSquare44x44Logo, WSAImageScale._100) (or the matching type/scale for the tile you need).
- Exclude storeTileLogo* properties from reflective enumeration; they are EditorBrowsableState.Never.
- Version-gate any unavoidable reflective access and skip these members on the obsoleting version and later.
Example fix
// before
string logo = PlayerSettings.WSA.storeTileLogo80;
// after
string logo = PlayerSettings.WSA.GetVisualAssetsImage(
WSAImageType.UWPSquare44x44Logo, WSAImageScale._100); Defensive patterns
Strategy: fallback
Validate before calling
// Prefer the replacement API outright; if reflecting, skip EditorBrowsableState.Never members.
static bool IsDeprecatedStoreTile(System.Reflection.PropertyInfo p)
=> p.GetCustomAttributes(typeof(System.ObsoleteAttribute), false)
.Cast<System.ObsoleteAttribute>().Any(o => o.IsError); Type guard
static bool HasStoreTileReplacement => true; // GetVisualAssetsImage always exists on modern editors
Try / catch
try { _ = PlayerSettings.WSA.storeTileLogo80; }
catch (System.NotSupportedException)
{
// migrate to the replacement API
var logo = PlayerSettings.WSA.GetVisualAssetsImage(
WSAImageType.UWPSquare44x44Logo, WSAImageScale._100);
} Prevention
- Use GetVisualAssetsImage/SetVisualAssetsImage for all tile-logo access; never reference storeTileLogo* properties.
- Recompile editor assemblies against the current Unity version so CS0619 forces migration at compile time.
- When reflecting, skip properties marked Obsolete(error:true) or EditorBrowsableState.Never.
- Search the codebase for 'storeTileLogo' before each Unity upgrade.
When it happens
Trigger: Reflecting over PlayerSettings.WSA to read all properties; loading an assembly compiled before the deprecation that reads storeTileLogo80; using C# dynamic to reach the member. Source-level access is blocked by the compiler.
Common situations: Stale build script or third-party plugin compiled against an older Unity editor. Editor tooling that generically snapshots PlayerSettings.WSA. Project upgrade across the Unity version where storeTileLogo80 was obsoleted.
Related errors
- PlayerSettings.storeTileLogo80 is deprecated. Use SetVisualA
- PlayerSettings.storeTileLogo is deprecated. Use GetVisualAss
- PlayerSettings.storeTileLogo is deprecated. Use SetVisualAss
- PlayerSettings.storeTileLogo140 is deprecated. Use GetVisual
- PlayerSettings.storeTileLogo140 is deprecated. Use SetVisual
AI-assisted analysis of Unity-Technologies/UnityCsReference@225b0fbdb5 (2026-08-13).
Data as JSON: /api/errors/3ed06d68947779e2.
Report an issue: GitHub.