Search Issue Tracker

Active

Under Consideration for 6000.5.X

Votes

36

Found in

6000.0.59f1

6000.2.6f1

6000.3.0b5

6000.4.0a1

6000.5.0a1

Issue ID

UUM-121453

Regression

No

[iOS] Screen flashing after the iOS splash screen

Metal

-

How to reproduce:
1. Open the “ReproProject.zip“ project
2. Open the “Load“ scene
3. Build for iOS
4. Open the “Unity-iPhone.xcodeproj“ project in Xcode
5. Build for a device
6. Open and close the instance of the app a few times (should reproduce in 5 times)

Expected result: No flickering when opening the app on the splash screen
Actual result: Flicker when opening the app on the splash screen

Reproducible with: 6000.0.59f1, 6000.2.6f1, 6000.3.0b5, 6000.4.0a1

Reproducible environment: macOS 15.7 (M4 Max), macOS 15.7 (M1 Pro) (Reporters)
Not reproducible environment: No other environment tested

Reproducible with these devices:
VLNQA00626, iPhone 16 (MYE73QN/A), CPU: Apple A18 Pro, OS: 18.5
VLNQA00416, iPhone 13 Pro (MLVA3ET/A), CPU: Apple A15 Bionic, OS: 17.6.1
VLNQA00535, iPhone XS (MT9F2ET/A), CPU: Apple A12 Bionic, OS: 17.6.1

Not reproducible with these devices:
VLNQA00232, iPhone 8 Plus (MQ8M2ET/A), CPU: Apple A11 Bionic, OS: 16.7.10
VLNQA00493, iPhone 14 Pro (MQ083PX/A), CPU: Apple A16 Bionic, OS: 16.3.1
VLNQA00491, iPhone 14 Pro (MQ083PX/A), CPU: Apple A16 Bionic, OS: 16.0
VLNQA00600, iPad Pro (9.7 inch, WiFi) (MLMY2B/A), CPU: Apple A9X, OS: 14.8

Notes:

  • Not reproducible with macOS Standalone
  • Reproducible with both Multi-Threaded rendering enabled and disabled
  • Does not reproduce in the Editor
  • Not reproducible on macOS Standalone with IL2CPP backend

Comments (8)

  1. ahabers

    Jan 07, 2026 14:49

    Not sure if this is the same issue, but we noticed this behavior when app was going from foreground->background->foreground and making Metal calls. When an iOS app goes to the background or a system sheet (Share, Photo picker, etc.) appears, Unity can still tick managed code long enough to issue draw calls. Metal treats that as “rendering while not in the foreground,” which can trigger validation errors or crashes. Our pattern is to pause Unity’s rendering whenever the app loses foreground or a system UI sheet is shown, and resume once it returns. Concretely: subscribe to iOS lifecycle events (pause/focus changes) plus the system-sheet presentation callbacks, call Application.pauseStateChanged/OnApplicationFocus/native hooks to detect those transitions, then gate or pause the render loop until we’re truly foreground again. That keeps Metal from receiving draw calls in invalid states and stabilizes app state transitions.
    I assumed this was an iOS 26 thing, but looks like you're seeing it on older versions of iOS as well.

  2. MicahTech

    Dec 03, 2025 20:59

    I'm on 6000.0.62f1 and I haven't really noticed it happening on that version. I was the one who originally reported ts bug

  3. takashi-kunn

    Dec 03, 2025 04:35

    any workarounds for this issue?

  4. MicahTech

    Nov 14, 2025 21:30

    This never should have been an issue in the first place, what even prompted them to change the splash screen code?

  5. suraj_stellarplay

    Nov 12, 2025 11:04

    When can we expect a fix?

  6. lucas_unity4

    Oct 31, 2025 14:09

    Also happens on Unity 6000.0.58f2

  7. danieldaniil

    Oct 27, 2025 11:43

    upd: 1) scene loading from asset bundle

  8. danieldaniil

    Oct 27, 2025 11:13

    Have similar issue: during runtime after some steps bug can be reproduced.
    important note: repro with these steps isn't 100%
    1) scene loading from addressable. after changing device orientation (landscape to portrait or portrait to landscape) -> screen blinking
    2) app session interrupted by telephone call, runs in background for a while, after call end -> screen blinking
    3) accidentally making double screenshot

Add comment

Log in to post comment