Unity-Technologies/UnityCsReference · error · NotSupportedException
PlayerSettings.storeTileLogo180 is deprecated. Use GetVisual
Error message
PlayerSettings.storeTileLogo180 is deprecated. Use GetVisualAssetsImage() instead.
What it means
Reading PlayerSettings.WSA.storeTileLogo180 throws NotSupportedException directing you to GetVisualAssetsImage(). The property is [Obsolete("Use GetVisualAssetsImage()/SetVisualAssetsImage()", true)] and EditorBrowsable(Never); source references are compile-time errors (CS0619) and the throw is reachable only via reflection, dynamic, or a pre-compiled assembly. storeTileLogo180 was the 180-scale store tile logo; use GetVisualAssetsImage with the appropriate type/scale.
Source
Thrown at Editor/Mono/PlayerSettingsWSA.cs:219
public static string storeTileLogo140
{
get
{
throw new NotSupportedException("PlayerSettings.storeTileLogo140 is deprecated. Use GetVisualAssetsImage() instead.");
}
set
{
throw new NotSupportedException("PlayerSettings.storeTileLogo140 is deprecated. Use SetVisualAssetsImage() instead.");
}
}
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
[Obsolete("Use GetVisualAssetsImage()/SetVisualAssetsImage()", true)]
public static string storeTileLogo180
{
get
{
throw new NotSupportedException("PlayerSettings.storeTileLogo180 is deprecated. Use GetVisualAssetsImage() instead.");
}
set
{
throw new NotSupportedException("PlayerSettings.storeTileLogo180 is deprecated. Use SetVisualAssetsImage() instead.");
}
}
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
[Obsolete("Use GetVisualAssetsImage()/SetVisualAssetsImage()", true)]
public static string storeTileWideLogo80
{
get
{
throw new NotSupportedException("PlayerSettings.storeTileWideLogo80 is deprecated. Use GetVisualAssetsImage() instead.");
}
set
{
throw new NotSupportedException("PlayerSettings.storeTileWideLogo80 is deprecated. Use SetVisualAssetsImage() instead.");View on GitHub (pinned to 225b0fbdb5)
Solutions
- Recompile the calling assembly against the current editor to expose CS0619, then migrate.
- Replace with PlayerSettings.WSA.GetVisualAssetsImage(<WSAImageType>, <WSAImageScale>) for the corresponding tile.
- Remove storeTileLogo180 from reflective read loops; it is EditorBrowsableState.Never.
- Version-gate unavoidable reflective access.
Example fix
// before
string logo = PlayerSettings.WSA.storeTileLogo180;
// after
string logo = PlayerSettings.WSA.GetVisualAssetsImage(
WSAImageType.UWPSquare150x150Logo, WSAImageScale._100); Defensive patterns
Strategy: fallback
Validate before calling
static bool IsDeprecatedStoreTile(System.Reflection.PropertyInfo p)
=> p.GetCustomAttributes(typeof(System.ObsoleteAttribute), false)
.Cast<System.ObsoleteAttribute>().Any(o => o.IsError); Try / catch
try { _ = PlayerSettings.WSA.storeTileLogo180; }
catch (System.NotSupportedException)
{
var logo = PlayerSettings.WSA.GetVisualAssetsImage(
WSAImageType.UWPSquare150x150Logo, WSAImageScale._100);
} Prevention
- Read tile logos via GetVisualAssetsImage only.
- Recompile against the current editor to surface CS0619.
- Skip EditorBrowsableState.Never properties in reflective sweeps.
- Audit for 'storeTileLogo180' before each upgrade.
When it happens
Trigger: Reflective read of storeTileLogo180, a stale assembly reading it, or C# dynamic access. Direct source reads are compiler errors.
Common situations: Old build pipeline compiled against a pre-deprecation Unity. Generic PlayerSettings.WSA snapshot tools. Project upgrade across the deprecating version.
Related errors
- PlayerSettings.storeTileLogo80 is deprecated. Use GetVisualA
- PlayerSettings.storeTileLogo80 is deprecated. Use SetVisualA
- PlayerSettings.storeTileLogo is deprecated. Use GetVisualAss
- PlayerSettings.storeTileLogo is deprecated. Use SetVisualAss
- PlayerSettings.storeTileLogo140 is deprecated. Use GetVisual
AI-assisted analysis of Unity-Technologies/UnityCsReference@225b0fbdb5 (2026-08-13).
Data as JSON: /api/errors/e272d8b7fb97c4db.
Report an issue: GitHub.