Unity-Technologies/UnityCsReference · error · NotSupportedException

PlayerSettings.phoneSplashScreenImageScale140 is deprecated.

Error message

PlayerSettings.phoneSplashScreenImageScale140 is deprecated. Use GetVisualAssetsImage() instead.

What it means

PlayerSettings.WSA.phoneSplashScreenImageScale140 was a string property that retrieved the Windows Phone splash screen image path at 140% scale. Unity replaced all per-scale visual asset getters with GetVisualAssetsImage(WSAImageType, WSAImageScale). The [Obsolete(..., true)] attribute blocks direct compilation; the NotSupportedException fires at runtime for reflection-based reads.

Source

Thrown at Editor/Mono/PlayerSettingsWSA.cs:681

            public static string phoneSplashScreenImage
            {
                get
                {
                    throw new NotSupportedException("PlayerSettings.phoneSplashScreenImage is deprecated. Use GetVisualAssetsImage() instead.");
                }
                set
                {
                    throw new NotSupportedException("PlayerSettings.phoneSplashScreenImage is deprecated. Use SetVisualAssetsImage() instead.");
                }
            }

            [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
            [Obsolete("Use GetVisualAssetsImage()/SetVisualAssetsImage()", true)]
            public static string phoneSplashScreenImageScale140
            {
                get
                {
                    throw new NotSupportedException("PlayerSettings.phoneSplashScreenImageScale140 is deprecated. Use GetVisualAssetsImage() instead.");
                }
                set
                {
                    throw new NotSupportedException("PlayerSettings.phoneSplashScreenImageScale140 is deprecated. Use SetVisualAssetsImage() instead.");
                }
            }

            [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
            [Obsolete("Use GetVisualAssetsImage()/SetVisualAssetsImage()", true)]
            public static string phoneSplashScreenImageScale240
            {
                get
                {
                    throw new NotSupportedException("PlayerSettings.phoneSplashScreenImageScale240 is deprecated. Use GetVisualAssetsImage() instead.");
                }
                set
                {
                    throw new NotSupportedException("PlayerSettings.phoneSplashScreenImageScale240 is deprecated. Use SetVisualAssetsImage() instead.");

View on GitHub (pinned to 225b0fbdb5)

Solutions

  1. Replace the getter call with PlayerSettings.WSA.GetVisualAssetsImage(WSAImageType.SplashScreenImage, WSAImageScale._140)
  2. Migrate to a UWP-supported scale (_100, _125, _150, _200, _400) since WSAImageScale._140 is itself deprecated for UWP
  3. If using reflection, call the method directly instead of reflecting over removed properties

Example fix

// before
string img = PlayerSettings.WSA.phoneSplashScreenImageScale140;

// after
string img = PlayerSettings.WSA.GetVisualAssetsImage(WSAImageType.SplashScreenImage, WSAImageScale._100);
Defensive patterns

Strategy: validation

Validate before calling

// Before reflecting over the property, check if it's deprecated
var prop = typeof(PlayerSettings.WSA).GetProperty("phoneSplashScreenImageScale140");
if (prop?.GetCustomAttribute<System.ObsoleteAttribute>()?.IsError == true)
    Debug.LogError("Property is obsolete. Use GetVisualAssetsImage() instead.");

Try / catch

try { /* deprecated getter via reflection */ }
catch (NotSupportedException ex) when (ex.Message.Contains("GetVisualAssetsImage"))
{ Debug.LogError("Migrate to GetVisualAssetsImage()."); }

Prevention

When it happens

Trigger: Reading PlayerSettings.WSA.phoneSplashScreenImageScale140 via reflection (PropertyInfo.GetValue), dynamic dispatch, or a legacy compiled assembly that calls the getter.

Common situations: Editor tools that read and display configured WSA splash screen assets at multiple DPI scales. Migration of project settings from Windows Phone 8.1 to UWP. Legacy CI scripts that log or validate splash screen configuration.

Related errors


AI-assisted analysis of Unity-Technologies/UnityCsReference@225b0fbdb5 (2026-08-13). Data as JSON: /api/errors/8fb4e1ff673da59d. Report an issue: GitHub.