Subject: Conflicting Orientation Behavior with UBlueprintPlatformLibrary::SetAllowedDeviceOrientation on iOS
Description:
I’m encountering inconsistent behavior when setting screen orientation on iOS using UBlueprintPlatformLibrary::SetAllowedDeviceOrientation in UE5.
According to the UE5 documentation, EScreenOrientation::LandscapeLeft should position the Home button on the right (device rotated counterclockwise 90° from portrait), which aligns with Apple’s UIInterfaceOrientation definition where UIInterfaceOrientationLandscapeLeft represents home button on the right.
However, when I call:
UBlueprintPlatformLibrary::SetAllowedDeviceOrientation(EScreenOrientation::LandscapeLeft);
The actual result on my iOS device shows the Home button on the left, which contradicts both UE5’s documentation and Apple’s UIInterfaceOrientation specification where UIInterfaceOrientationLandscapeLeft clearly indicates home button on the right side.
This creates a significant inconsistency because:
-
UE5’s
EScreenOrientation::LandscapeLeftdocumentation states Home button should be on the right -
Apple’s official
UIInterfaceOrientationdocumentation confirms this mapping -
Yet the practical implementation results in the opposite behavior
Environment:
-
Unreal Engine 5.x
-
iOS 18.x
Questions:
-
Is there a known mapping issue between UE5’s
EScreenOrientationand iOS’s nativeUIInterfaceOrientation? -
Does UE5 internally handle orientation mapping differently in
SetAllowedDeviceOrientation? -
Should I use
LandscapeRightto actually achieve the documentedLandscapeLeftbehavior (Home button right)? -
Is this a version-specific bug or documentation error that needs addressing?
I would appreciate any clarification on this orientation mapping discrepancy and guidance on achieving consistent landscape orientation behavior.