Unity-Technologies/UnityCsReference · error · NotSupportedException
PlayerSettings.storeTileLogo is deprecated. Use GetVisualAss
Error message
PlayerSettings.storeTileLogo is deprecated. Use GetVisualAssetsImage() instead.
What it means
Reading PlayerSettings.WSA.storeTileLogo throws NotSupportedException directing you to GetVisualAssetsImage(). The property is [Obsolete("Use GetVisualAssetsImage()/SetVisualAssetsImage()", true)] and EditorBrowsable(Never), so source references fail at compile time (CS0619); the throw is reached only through reflection, dynamic dispatch, or a pre-compiled assembly. storeTileLogo was the default-scale store tile logo; use GetVisualAssetsImage with the correct WSAImageType/WSAImageScale.
Source
Thrown at Editor/Mono/PlayerSettingsWSA.cs:191
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.");
}
}
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
[Obsolete("Use GetVisualAssetsImage()/SetVisualAssetsImage()", true)]
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.");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(<matching WSAImageType>, <matching WSAImageScale>).
- Remove storeTileLogo from reflective read loops; it is EditorBrowsableState.Never.
- Version-gate unavoidable reflective access.
Example fix
// before
string logo = PlayerSettings.WSA.storeTileLogo;
// 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.storeTileLogo; }
catch (System.NotSupportedException)
{
var logo = PlayerSettings.WSA.GetVisualAssetsImage(
WSAImageType.UWPSquare150x150Logo, WSAImageScale._100);
} Prevention
- Read tile logos via GetVisualAssetsImage only.
- Recompile editor code against the installed Unity to surface CS0619 at build time.
- Skip EditorBrowsableState.Never properties during reflective sweeps.
- Audit for 'storeTileLogo' references before each upgrade.
When it happens
Trigger: Reflective read of storeTileLogo, a stale assembly reading it, or C# dynamic access. Direct source reads are compiler errors.
Common situations: Old build/asset 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 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/05aabc1efebc4b65.
Report an issue: GitHub.