iOS splash screen issue in Unity 5.2

Hi all,

We just upgraded to Unity 5.2 and ran into an issue with the new splash screen support for iOS.
We want a logo on a white background for all splash screens.

If we use the default setting, despite matching the exact sizes that Unity is asking for, our splash screens are now pixelated when they weren’t before the upgrade.

If we use the “Image and background (relative size)” and set the background color to white, the borders of the screen on device are set to white but place where the logo will go starts black and then cross-fades to our logo which looks pretty terrible.

Is there a reason why the Background Color is not applied to the entire screen?
Is there a way to disable the logo fade?

We are seeing this on iOS9 (haven’t tested other OS yet)

Thanks.

Stephane

So, it appears that the issue with the pixelated splash screen is because the Default option for the iPhone/iPad launch screen uses the “Mobile Splash Screen” and not the images specified for the appropriate device.

  1. I have verified that if I run on an iPad retina, the image I am seeing is the 480x320 image set in Mobile Splash Screen and not the 2048 x 1536 image I specified.

  2. I also verified that if I set the mobile splash screen to None I see no image on boot, which means it’s not a question of Unity defaulting to the Mobile Splash Screen first before checking the other settings.

This issue combined with the fact that the background color settings only works around the logo image which fades in on a black background makes it impossible for us to have a splash screen that is NOT on a black background.

This is a showstopper issue for us.

I found that the best way to handle splash screens on iOS was to create a single huge image (mine is 2208 x 2208, the max dimension of any side of an iOS device per this doc), that will fill the entire screen when displayed on any iOS device. The main graphic is designed to fit on a 10x16 screen, you just see more of the background on wider devices.

I found a solution.

Remove app from device, and delete the projects derived data

Add
image = nil;
at row 110 in SplashScreen.mm

This forces Xcode to look up the correct png.

Tested on iPhone 4, iPhone5, iPhone6 and iPad Mini.

I’ve tested on ios8 device.
It runs perfectly.
Seems this issue is about ios9 problem…
I’ve tested appstore version(which is complied before ios9) and current working build. Both side, same problem :frowning:

This thread on the Unity forums has all the detail you need. The remaining splash screen issues will be resolved in Unity 5.2.3p3

I’m running 5.4.2p2 and this would appear to be an issue still. It was working before, now it seems not to be. I’m testing on a few devices, but in particular an iPad mini retina and an iPhone 6+. I have a single BG image which is 1920 x 1080 for both aspect ratios (sort of ‘video safe’ outside of the 4x3 content area) and an identical start screen with a couple of buttons. On the iPad this works perfectly, the splash screen shows and then the start screen loads, which gives the appearance of the buttons popping on. The fact that Unity/iOS is cropping the 16x9 pixel-perfectly to achieve this is encouraging. It all goes wrong on the iPhone though, which is odd given it has the same aspect ratio. I am building for iOS 9. on the 6+, the launch screen is fine but the splash screen is like a microdot in the middle of the screen. I’m setting the splash image in player settings only. For both iPad and iPhone I’m setting launch screen type to image and background relative size - great for iPad, not so much for iPhone. I confirm I’ve read the thread referenced by @Meltdown (cheers!) and sworn at the iPhone. A lot.
One other thing; I’m not sure this was as broken as it is before iOS 10.1? I’m now running Xcode 8.1 and the issue seems to coincide with installing this - although this could be spurious. Actually @Kanojo I’ll also build for iOS8 and see if the problem persists.
Sorry, this was long and rambling in the vain hope that some detail might strike a chord with someone.

@Kanojo not convinced this is an iOS 9 issue now; I’ve tested builds for 8 & 9 on multiple devices (iPhones: 5, 5c and 6+, iPads, mini-retina and the larger Pro) with a range of different versions of iOS, and as far as I can see the common thread is that 4x3 works, 16x9 does not. Is anyone else seeing this?

I’ve ran into this issue now with Unity 2017.3.1p1, still seems to happen.

Any workarounds? Would really like to use the relative size -option.