{"record":{"id":"83a702bc9dce52b4","repo":"Unity-Technologies/UnityCsReference","slug":"playersettings-storetilesmalllogo140-is-deprecated-83a702","errorCode":null,"errorMessage":"PlayerSettings.storeTileSmallLogo140 is deprecated. Use SetVisualAssetsImage() instead.","messagePattern":"PlayerSettings\\.storeTileSmallLogo140 is deprecated\\. Use SetVisualAssetsImage\\(\\) instead\\.","errorType":"exception","errorClass":"NotSupportedException","httpStatus":null,"severity":"error","filePath":"Editor/Mono/PlayerSettingsWSA.cs","lineNumber":321,"sourceCode":"                    throw new NotSupportedException(\"PlayerSettings.storeTileSmallLogo is deprecated. Use GetVisualAssetsImage() instead.\");\n                }\n                set\n                {\n                    throw new NotSupportedException(\"PlayerSettings.storeTileSmallLogo 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 storeTileSmallLogo140\n            {\n                get\n                {\n                    throw new NotSupportedException(\"PlayerSettings.storeTileSmallLogo140 is deprecated. Use GetVisualAssetsImage() instead.\");\n                }\n                set\n                {\n                    throw new NotSupportedException(\"PlayerSettings.storeTileSmallLogo140 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 storeTileSmallLogo180\n            {\n                get\n                {\n                    throw new NotSupportedException(\"PlayerSettings.storeTileSmallLogo180 is deprecated. Use GetVisualAssetsImage() instead.\");\n                }\n                set\n                {\n                    throw new NotSupportedException(\"PlayerSettings.storeTileSmallLogo180 is deprecated. Use SetVisualAssetsImage() instead.\");\n                }\n            }\n\n            [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]","sourceCodeStart":303,"sourceCodeEnd":339,"githubUrl":"https://github.com/Unity-Technologies/UnityCsReference/blob/225b0fbdb57cc17d094e8056b71f8314aba56f73/Editor/Mono/PlayerSettingsWSA.cs#L303-L339","documentation":"PlayerSettings.WSA.storeTileSmallLogo140 is a deprecated property representing the small 44x44 square logo used in the Store listing, app list, and taskbar at 140% scale. Note: the 140% scale is itself deprecated in WSAImageScale (not used in Universal Windows Platform); prefer _100, _125, _150, _200, or _400. It is decorated with [Obsolete(\"Use GetVisualAssetsImage()/SetVisualAssetsImage()\", true)], making direct access a compile-time error (CS0619). The set accessor additionally throws NotSupportedException at runtime to catch reflection-based or dynamically dispatched access. The replacement API is SetVisualAssetsImage(WSAImageType.UWPSquare44x44Logo, WSAImageScale._140) for this specific accessor.","triggerScenarios":"Accessing PlayerSettings.WSA.storeTileSmallLogo140 via its set accessor. Assigning a value, e.g. PlayerSettings.WSA.storeTileSmallLogo140 = \"Assets/Logo.png\"; triggers the NotSupportedException from the set block. Compile-time access is blocked by the [Obsolete(..., true)] attribute (error CS0619). Runtime exceptions only surface when the property is reached through reflection, dynamic invocation, or IL that bypasses the compiler check.","commonSituations":"Upgrading a Unity project from a version that supported these Windows 8.1-era store image properties to a UWP-only build. Build scripts, CI/CD pipelines, or editor extensions that batch-configure WSA visual assets using the old individual-property API. Third-party plugins or asset store packages that reference PlayerSettings.WSA.storeTileSmallLogo140. Code migrated from Windows 8.1 Metro/WinRT templates that hardcoded DPI-scaled tile logos.","solutions":["Replace the property assignment with PlayerSettings.WSA.SetVisualAssetsImage(imagePath, WSAImageType.UWPSquare44x44Logo, WSAImageScale._140).","If the 140% scale is deprecated (80/140/180), switch to a UWP-supported scale such as WSAImageScale._100 or WSAImageScale._200.","If the calling code is in a shared library, wrap the new call in a #if UNITY_2019_4_OR_NEWER (or appropriate version) preprocessor guard to maintain backward compatibility.","Search the entire solution for all references to the deprecated property (including in .asmdef-referenced assemblies) to ensure no compile-time or reflection-based access remains."],"exampleFix":"// before\nPlayerSettings.WSA.storeTileSmallLogo140 = \"Assets/Images/Logo.png\";\n// after\nPlayerSettings.WSA.SetVisualAssetsImage(\n    \"Assets/Images/Logo.png\",\n    WSAImageType.UWPSquare44x44Logo,\n    WSAImageScale._140);","handlingStrategy":"validation","validationCode":"// Validate the property is not among the deprecated set before reflection access\nvar prop = typeof(PlayerSettings.WSA).GetProperty(\"storeTileSmallLogo140\");\nif (prop != null && prop.GetCustomAttribute<ObsoleteAttribute>()?.IsError == true)\n{\n    // Use the replacement API instead\n    PlayerSettings.WSA.SetVisualAssetsImage(\n        imagePath, WSAImageType.UWPSquare44x44Logo, WSAImageScale._140);\n}","typeGuard":null,"tryCatchPattern":"try\n{\n    // Deprecated property access via reflection\n    typeof(PlayerSettings.WSA)\n        .GetProperty(\"storeTileSmallLogo140\")?.SetValue(null, imagePath);\n}\ncatch (NotSupportedException ex) when (ex.Message.Contains(\"deprecated\"))\n{\n    // Fallback to the replacement API\n    PlayerSettings.WSA.SetVisualAssetsImage(\n        imagePath, WSAImageType.UWPSquare44x44Logo, WSAImageScale._140);\n}","preventionTips":["Treat compiler warnings CS0618/CS0619 as errors in your .csproj or ProjectSettings to catch deprecated PlayerSettings.WSA property usage before runtime.","When upgrading Unity versions, run a full-solution grep for 'storeTile' and 'storeSmall' to identify all deprecated WSA visual-asset properties.","Migrate all WSA image configuration to GetVisualAssetsImage/SetVisualAssetsImage in a single pass rather than property-by-property.","Avoid reflection-based access to PlayerSettings.WSA properties; the [Obsolete(..., true)] attribute only protects compile-time callers, not reflection.","Replace deprecated scale values (_80, _140, _180) with UWP-supported scales (_100, _125, _150, _200, _400) during the same migration."],"tags":["unity","deprecated","wsa","uwp","player-settings","visual-assets","small-square-logo"],"backgroundTag":null,"analyzedSha":"225b0fbdb57cc17d094e8056b71f8314aba56f73","analyzedAt":"2026-08-13T19:07:19.849Z","schemaVersion":2},"datasetVersion":"2026-08-13T19:17:28.613Z"}