I’ve posted this as a Unity bug but they’re still working on reproducing as it requires an Apple Developer Account to replicate. I wanted to see if anyone else has seen this and possibly found a workaround as it’s a major showstopper for my app which is primarily driven by deep links.
In iOS 11.0.3 (and also partially replicated in iOS 10.3.3) when an app that is configured to use only one orientation in Unity, either due to using Google Cardboard or just manually setting one orientation, is launched via an app deep link, the UI will be incorrectly positioned on the screen:
If the app is already running in the background or if the link is clicked while the phone is in landscape orientation, this bug will not happen - though the latter depends on the specific orientation options chosen in Unity / Xcode (ie. you may only see it happen when in landscape vs. portrait - sometimes it just doesn’t happen as well - it’s a little fluky).
I have tested this in Unity 2017.3.0b3, Unity 2017.3.0b5, and Unity 2017.1.2p1 on an iPhone 6+ running 11.0.3 and an iPhone 7 running 10.3.3 and 11.0.3
Rep Steps:
- Create a new project and new scene with a camera.
- In the Player settings, set the Default Orientation to be Landscape Right.
- Build in Unity
- In Xcode, add “applinks:XYZ” to the Associated Domains in Xcode where XYZ is your deep link domain. Note you must have an Apple Developer Account and a domain to use deep linking. You can use the short domains by Firebase or Branch for testing rather than a domain you own. Build in Xcode.
- When the phone is in portrait and the application is not already running, click on a deep link.
- Note that the app will launch with the UI off screen / squished
Depending on the phone’s orientation when the deep link is clicked (and also seems a little fluky and dependent on iOS version / iPhone model) the screen may be squished / cut off in other ways than the attached image above. I’ve not yet tested this on an iPad, though I fear it’s likely worse as rotation is much more of a core UX compared to iPhones.
Has anyone seen this before? Any ideas on possible workarounds?


