Games and media apps are where letterboxing is most noticeable: a full-screen game shrunk to an iPhone-shaped window in the middle of a 7.6-inch display. Apple’s advice comes down to three things.3
Be playable in every pose
Your game has to work closed, open and partly folded, and the change can happen mid-session without a relaunch. The scene just gets a new size. Rebuild with the iOS 27.1 SDK, size your render target from the scene or view (see Size from the window, not the screen), and handle the resize without restarting the level.3
UIRequiresFullScreen doesn’t stop the resize when the device opens or closes. Apple’s engineers allow it for immersive AR experiences, but it’s deprecated. Plan to remove it.1
Change aspect ratio instead of adding bars
Apple’s guidance is to adjust the aspect ratio, showing more of the world or reflowing the HUD, rather than letterboxing or pillarboxing. If padding is unavoidable, fill it with artwork so the game still feels full-screen.1
Put touch controls where the safe area and reserved regions allow, keep them off the fold, and handle the safe area on each side separately: on iPhone Duo it is often asymmetric. In table pose, the bottom half is a steadier surface for controls.
Apple didn’t give engine-specific (Unity, Unreal) guidance in its lab answers. The same principles apply through whatever surface-size callbacks your engine provides.1
Use the hinge as an input, carefully
onHingeChange and UIHingeInteraction give you a continuous hinge angle, which makes a good analog input for effects and gameplay. Apple’s demo uses it to bend a guitar’s pitch. Apple says the update rate and precision are system policy, so design for an approximate, possibly throttled signal, and always handle a device with no hinge.1
Get motion data for the right screen
The motion sensors are fixed to the hardware, and on a folding phone the display you’re looking at isn’t. To get attitude relative to the screen your app is on, make your view conform to CMBodyIdentifiable and set it as the motion manager’s deviceMotionBody:
motionManager.deviceMotionBody = gameView // conforms to CMBodyIdentifiable
motionManager.startDeviceMotionUpdates(using: .xArbitraryZVertical, to: .main) { motion, _ in
let attitude = motion?.attitude // corrected for the display hosting gameView
}
This only works while your app is full screen on that display. Otherwise you get the device’s default reference frame. The same mechanism covers levels and 3D compasses.2
Video playback
AVKit scales video automatically, and playback position survives folding. Picture in Picture behaves as on other iPhones and moves to the outer display when the phone closes.2 See Split View, multiple windows and keeping state for the details.