Unity-Technologies/UnityCsReference · error · NotSupportedException

PlayerSettings.phoneSplashScreenImageScale140 is deprecated.

Error message

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

What it means

PlayerSettings.WSA.phoneSplashScreenImageScale140 was a string property whose setter assigned the Windows Phone splash screen image at 140% DPI scale. Unity unified all WSA visual asset setters into SetVisualAssetsImage(image, WSAImageType, WSAImageScale). The [Obsolete(..., true)] flag makes direct usage a compile error; the runtime NotSupportedException catches reflection-based writes.

Source

Thrown at Editor/Mono/PlayerSettingsWSA.cs:685

                    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.");
                }
            }

            [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]

View on GitHub (pinned to 225b0fbdb5)

Solutions

  1. Replace the setter with PlayerSettings.WSA.SetVisualAssetsImage(path, WSAImageType.SplashScreenImage, WSAImageScale._140)
  2. Migrate to UWP-supported scales (_100, _125, _150, _200) since _140 is deprecated for UWP
  3. Recompile all editor scripts to surface remaining [Obsolete] errors and fix them

Example fix

// before
PlayerSettings.WSA.phoneSplashScreenImageScale140 = "Assets/Splash/splash140.png";

// after
PlayerSettings.WSA.SetVisualAssetsImage("Assets/Splash/splash.png", WSAImageType.SplashScreenImage, WSAImageScale._150);
Defensive patterns

Strategy: validation

Validate before calling

var prop = typeof(PlayerSettings.WSA).GetProperty("phoneSplashScreenImageScale140");
if (prop?.GetCustomAttribute<System.ObsoleteAttribute>()?.IsError == true)
    Debug.LogError("Property is obsolete. Use SetVisualAssetsImage() instead.");

Try / catch

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

Prevention

When it happens

Trigger: Assigning to PlayerSettings.WSA.phoneSplashScreenImageScale140 through reflection, dynamic keyword, or a pre-compiled plugin DLL.

Common situations: Build automation that configures WSA splash screen assets at multiple DPI scales for Windows Phone. Project migration scripts that copy settings from older Unity versions. Third-party deployment tools.

Related errors


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