Inconsistent EScreenOrientation between device types

Hello! I’m trying to always place UI at the ‘bottom’ of a mobile device screen, opposite the camera cutout/dynamic island/etc on a Landscape application. It is working by checking the UBlueprintPlatformLibrary::GetDeviceOrientation(), but I noticed that this gives different results between Android and IOS devices.

For example, on IOS, LandscapeRight corresponds with UIInterfaceOrientationMaskLandscapeRight and has the cutout on the Left. However on Android, LandscapeRight corresponds with EAndroidScreenOrientation::SCREEN_ORIENTATION_REVERSE_LANDSCAPE (which doesn’t have an indication of Left/Right, to be fair) and has the cutout on the Right.

Is this discrepancy intended? Do you have standard or expected ways this type of behavior would be handled, so we can utilize those methods in our project?

* I’ve attached a screenshot of code we’re doing to position some UI based on the orientation that could be used toward repro. The orientation comments apply to Android.

[Attachment Removed]

Hi Mattea,

There is an open issue on this particular topic. https://issues.unrealengine.com/issue/UE\-95179 . I can confirm that these are indeed inverted iOS vs. Android. You can follow the issue for resolution but I’ll also follow up here once it is.

Best regards.

[Attachment Removed]

Hi Mattea,

Just wanted to follow up with the CL which resolves this issue and should make the UE orientation abstraction consistent across Android and iOS.

Best regards.

[Attachment Removed]