{"record":{"id":"3ed06d68947779e2","repo":"Unity-Technologies/UnityCsReference","slug":"playersettings-storetilelogo80-is-deprecated-use","errorCode":null,"errorMessage":"PlayerSettings.storeTileLogo80 is deprecated. Use GetVisualAssetsImage() instead.","messagePattern":"PlayerSettings\\.storeTileLogo80 is deprecated\\. Use GetVisualAssetsImage\\(\\) instead\\.","errorType":"exception","errorClass":"NotSupportedException","httpStatus":null,"severity":"error","filePath":"Editor/Mono/PlayerSettingsWSA.cs","lineNumber":177,"sourceCode":"\n                try\n                {\n                    return (bool)System.ComponentModel.TypeDescriptor.GetConverter(typeof(bool)).ConvertFromString(stringValue);\n                }\n                catch\n                {\n                    Debug.LogError(\"Failed to parse value  ('\" + family + \",\" + stringValue + \"') to bool type.\");\n                    return false;\n                }\n            }\n\n            [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]\n            [Obsolete(\"Use GetVisualAssetsImage()/SetVisualAssetsImage()\", true)]\n            public static string storeTileLogo80\n            {\n                get\n                {\n                    throw new NotSupportedException(\"PlayerSettings.storeTileLogo80 is deprecated. Use GetVisualAssetsImage() instead.\");\n                }\n                set\n                {\n                    throw new NotSupportedException(\"PlayerSettings.storeTileLogo80 is deprecated. Use SetVisualAssetsImage() instead.\");\n                }\n            }\n\n            [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]\n            [Obsolete(\"Use GetVisualAssetsImage()/SetVisualAssetsImage()\", true)]\n            public static string storeTileLogo\n            {\n                get\n                {\n                    throw new NotSupportedException(\"PlayerSettings.storeTileLogo is deprecated. Use GetVisualAssetsImage() instead.\");\n                }\n                set\n                {\n                    throw new NotSupportedException(\"PlayerSettings.storeTileLogo is deprecated. Use SetVisualAssetsImage() instead.\");","sourceCodeStart":159,"sourceCodeEnd":195,"githubUrl":"https://github.com/Unity-Technologies/UnityCsReference/blob/225b0fbdb57cc17d094e8056b71f8314aba56f73/Editor/Mono/PlayerSettingsWSA.cs#L159-L195","documentation":"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.","triggerScenarios":"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.","commonSituations":"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.","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."],"exampleFix":"// before\nstring logo = PlayerSettings.WSA.storeTileLogo80;\n\n// after\nstring logo = PlayerSettings.WSA.GetVisualAssetsImage(\n    WSAImageType.UWPSquare44x44Logo, WSAImageScale._100);","handlingStrategy":"fallback","validationCode":"// Prefer the replacement API outright; if reflecting, skip EditorBrowsableState.Never members.\nstatic bool IsDeprecatedStoreTile(System.Reflection.PropertyInfo p)\n    => p.GetCustomAttributes(typeof(System.ObsoleteAttribute), false)\n         .Cast<System.ObsoleteAttribute>().Any(o => o.IsError);","typeGuard":"static bool HasStoreTileReplacement => true; // GetVisualAssetsImage always exists on modern editors","tryCatchPattern":"try { _ = PlayerSettings.WSA.storeTileLogo80; }\ncatch (System.NotSupportedException)\n{\n    // migrate to the replacement API\n    var logo = PlayerSettings.WSA.GetVisualAssetsImage(\n        WSAImageType.UWPSquare44x44Logo, WSAImageScale._100);\n}","preventionTips":["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."],"tags":["unity","deprecated","obsolete","wsa","uwp","playersettings","editor-only","notsupported","removed-api"],"backgroundTag":null,"analyzedSha":"225b0fbdb57cc17d094e8056b71f8314aba56f73","analyzedAt":"2026-08-13T19:07:19.849Z","schemaVersion":2},"datasetVersion":"2026-08-13T19:17:28.613Z"}