GCVirtualController missing buttons in portrait orientation

Number:rdar://FB9370930 Date Originated:7/20/21
Status:Open Resolved:
Product:Game Controller Framework Product Version:iOS 15
Classification:Incorrect/Unexpected Behavior Reproducible:Yes
GCVirtualController does not display all buttons on screen when the device is in portrait orientation. My game allows users to play in both portrait and landscape orientations, but this bug means my users cannot use the virtual controller when in portrait mode.

Steps to Reproduce:
1) Initialize GCVirtualController with configuration
2) Call GCVirtualController.connect()
3) Rotate device to portrait orientation (if not already)

Expected Results:
GCVirtualController displays all buttons specified in GCVirtualController.Configuration.elements in both portrait and landscape orientations.

Actual Results:
Only the right-half controls are visible in portrait orientation.

I’ve attached a sample project that can be used to demonstrate the issue, as well as some screenshots of the issue from my iPhone 11.


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!