Conflicting Orientation Behavior with UBlueprintPlatformLibrary::SetAllowedDeviceOrientation on iOS

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::LandscapeLeft documentation states Home button should be on the right

  • Apple’s official UIInterfaceOrientation documentation confirms this mapping

  • Yet the practical implementation results in the opposite behavior

Environment:

  • Unreal Engine 5.x

  • iOS 18.x

Questions:

  1. Is there a known mapping issue between UE5’s EScreenOrientation and iOS’s native UIInterfaceOrientation?

  2. Does UE5 internally handle orientation mapping differently in SetAllowedDeviceOrientation?

  3. Should I use LandscapeRight to actually achieve the documented LandscapeLeft behavior (Home button right)?

  4. 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.