Windows 10 Universal - Splash Screen Orientation Issues?

Hello guys,

Here we go again, a old topic back from the dead, but we have moved onto Windows 10 this time.

I have managed to build a Universal App, now in the process of fine tuning it to work correctly between the desktop and mobile platforms.

The problem has come to light with splash screen orientation once again.
I have added the splash screen images to my build in landscape format, I wish to keep this orientation on desktop build, and for mobile also, but on mobile orientation starts of portrait then switches quickly to landscape, this is bad user experience and no good.

Also there seems to be a small jump between splash screens on desktop, like it shows one then tries show extended splash screen, which position bit out.

So as last time in the MainPage.xaml.cs file need to tweak it, before used tags:

UNITY_WP_8_1 but it was easier for this as do else if statement.

For universal build harder: UNITY_WSA_10_0, how would one go about this.

Thank you, lets start this one…

Can you show the image how it does look?
Note one thing: the default orientation you set in the package.appxmanifest file is only for splash screen. Once it is over, you have all orientations available again. You can restrict them from code. Unity also does that, but it takes some time for Unity to initialize.

I see, okay I try and be more clear.

Universal 10 Build - Running Visual Studio Latest.

Desktop: The Splash Screen is in the correct orientation, it then switches to Extended Splash Screen which also seems to be correct.

There is a flicker between the change from Splash Screen to Extended Splash Screen and this has been in all versions so far, I made separate thread to try and address this.

Mobile: So the mobile Splash Screen starts in portrait mode and then upon switching to Extended Splash Screen its in landscape. Landscape is the correct format which I wish all splash screens to be. Therefore the issue is on Launch of App on mobile, Splash Screen orientation is portrait even if added images all in landscape in Visual studio and App does not allow portrait mode.

Does this make sense to you?, therefore if its a universal app both desktop and phone SplashScreen should act and be the same orientation, ignore extended splash screen.

TEST PHONE: Nokia Lumia 925. Software Version 1511
Unity 5.3.5patch1 (patch1 had some orientation fixed but not SplashScreen change)

Please point me to where the SplashScreen full code is, or if in Unity engine, please have a quick look to see how you handle this?..I cannot release game in this amateur state, splash screen is first thing user see and first impressions.
Thank you for understanding.

In the generated file you also see much code specific to Windows Phone 8.1, so it does seem you used Platform Dependent Compilation to fix issues with previous versions and orientation/sizes, not sure if this is therefore possible on Windows Store Universal.

All extended splash screen code is in MainPage.xaml.cs.
Does WP8.1 code work fine on WP10? In that case you can either check for PhoneContract presence or (at present) use conditional compilation for ARM, as other Win10 devices are x86.

Aurimas, as mentioned above the extended splash screen is ok and working as expected, I do see all the code for this in the MainPage.xaml.cs file and as mentioned can see maybe not yourself, but other programmers adding special cases for Windows 8.1 - please ignore this as its all ok.

The problem is the SPLASH SCREEN itself, before the app starts.
In previous non WIndows 10 builds, WP8.1 all is working as expected.

Can you provide me a link to conditional compilation for ARM, I can then try and manually set the SplashScreen orientation and fix the bug in my project.

I think this is a Unity bug, as I only have one test device I cannot be certain for sure. I strongly do think the issue does exist as it took months and months just to fix the WIndows Phone 8.1 splash screens, it was always a manual hack needed…

Thanks

Let make sure we’re on the same page first. There are three splash screens:

  1. Splash screen image, shown before the app startup
  2. Extended splash screen, which is part of MainPage
  3. Unity splash screen, that can be enabled/disabled in player settings

Which one is the Splash Screen you have problems with?

I said number of times above. Number 1 - Splash screen image, shown before the app startup.
I’m not sure how more I can explain it, as I mentioned this in previous posting.

  1. Splash Screen, wrong orientation on Windows 10 Mobile, correct on Windows 10 Desktop
  2. Extended Splash Screen, correct orientation on both Windows 10 Desktop and Mobile.
  3. Unity Splash Screen all disabled in player settings.

So, you can either use this API:

and check for “Windows.Phone.PhoneContract”, 1

or, if you’re willing to do ARM conditional compilation, open build properties in Visual Studio, select ARM and add your own define.

Ok thanks I look into this and see if I can do Manual Hack. Although this will not be easy, as again mentioned this is Universal build, hacking splash screen, spend hours doing this not worth the efforts, I just need you look at own Unity code.

But this not Unity bug? you not look into the Unity codebase? not explained to me how Unity handle the splash screen as this is on your side, extended splash screen is users side.

Also I found this: Unity Issue Tracker - Initial splashscreen is displayed in portrait, ignoring orientation restrictions

You say not fix, this is false information, this does not work, who ever wrote this.
I have added a landscape splashscreen image.

Copied From Tracker:
"Why is this issue not going to be fixed?
On Windows Phone (unlike Android), Start screen is always in portrait mode. When you start the application, the OS will first display the splash screen, and only then will read your preferences you specified in the application manifest. Since start screen is in portrait orientation, so will your app be at startup.

If you want to change the splashscreen to be landscape when the application starts, add a landscape splashscreen image."

It’s not Unity side, it’s the Windows OS/your app side. Unity code starts running at the point where you create AppCallbacks object (App.xaml.cs).

In Visual Studio, I have ticked landscape only supported and added a landscape splash image.
So when running on ARM, if the above information is correct, this is Microsoft bug / issue?
In my code I have not edited any SplashScreen stuff, I have imported code as from Unity into Visual Studio.

Just create an empty XAML app from VS and play with it. It should behave the same as the project exported from Unity.
I’m not sure that this is “an issue”, it might as well be by design according to Microsoft.