I’m close to finishing my first, very simple iOS game. It’s all gone fairly well, but I have one problem that I can’t seem to find the solution for, it is:
I have a very simple scene load at the start as an additional splash screen (not replacing the Unity one), it then fades out and loads the Main Menu scene. When this loads it just shows a black screen for about six seconds before showing properly. I know the second scene has loaded as I can hear the music, the visuals just seem to be delayed.
This happens when I build to a device, but is fine if I just test in the editor.
The last frame of the old scene is shown during the loading of the next. Game Center could be part of the problem, but it will be slower anyway on the device compared to a computer.
My way of treating this is to have the simple loading scene, then replicate the appearance in the new scene. Wait a couple of frames (using Update to count down rather than a timer). Then transition from those graphics to reveal the new scene graphics.
And don’t initialise Game Center on the frame you leave a scene or the first in the new one.
I’ve tried setting a delay for when the Game Center init code runs, but it still causes the problem.
Regardless of when the script runs, it seems strange that it would prevent my scene from displaying. I’ll do some more investigating but I think it may just be a problem that I have to live with.
Could you load Game Center when the Main Menu scene loads completely?
Or will Game Center have to load again when the the second scene begins?
I’m just suggesting to find a static spot/place where Game Center can load and the delay isn’t obvious.