Checklist for Adding Controllers

This appendix summarizes the critical issues described in this document by providing two checklists, one for iOS and one for Mac.

iOS Checklist

iOS Requirements

../Art/checkbox_unchecked_2x.png

Your game must not require a game controller.

../Art/checkbox_unchecked_2x.png

Your game must support the standard control layout.

../Art/checkbox_unchecked_2x.png

Your game must be playable using a standalone controller, without access to the device.

../Art/checkbox_unchecked_2x.png

Your game must support the pause button on the controller. It should toggle between pausing and resuming your game.

../Art/checkbox_unchecked_2x.png

Your game must disable the screen idle timer if the touchscreen is not used in your gameplay. See the idleTimerDisabled property for more information.

../Art/checkbox_unchecked_2x.png

When the iOS device is placed inside a formfitting controller, your game must run only in landscape mode.

../Art/checkbox_unchecked_2x.png

Your game must hide any virtual controls while it is being controlled from a controller.

iOS Recommendations

../Art/checkbox_unchecked_2x.png

Provide a user interface that explains which control elements are used by your game. Use the standard names for control elements.

../Art/checkbox_unchecked_2x.png

After a controller is connected, set the player index to a reasonable value.

../Art/checkbox_unchecked_2x.png

Respond appropriately when a controller is connected or disconnected.

../Art/checkbox_unchecked_2x.png

Make a control layout that is easy for players to understand and operate.

../Art/checkbox_unchecked_2x.png

Remove any code from your app that compensates for thumbstick dead zones.

../Art/checkbox_unchecked_2x.png

When using button elements, use the pressed property to determine whether a button is pressed. Use the value analog property only if your gameplay relies on the pressure applied to the button.

OS X Checklist

OS X Requirements

../Art/checkbox_unchecked_2x.png

Your game must not require a game controller.

../Art/checkbox_unchecked_2x.png

Your game may require the extended controller layout, because all controllers that support OS X have the extended control layout.

../Art/checkbox_unchecked_2x.png

Your game must be playable using a standalone controller, without access to the Mac.

../Art/checkbox_unchecked_2x.png

Your game must support the pause button on the controller. It should toggle between pausing and resuming your game.

OS X Recommendations

../Art/checkbox_unchecked_2x.png

Provide a user interface that explains which control elements are used by your game. Use the standard names for control elements.

../Art/checkbox_unchecked_2x.png

After a controller is connected, set the player index to a reasonable value.

../Art/checkbox_unchecked_2x.png

Respond appropriately when a controller is connected or disconnected.

../Art/checkbox_unchecked_2x.png

Make a control layout that is easy for players to understand and operate.

../Art/checkbox_unchecked_2x.png

Remove any code from your app that compensates for thumbstick dead zones.

../Art/checkbox_unchecked_2x.png

When using button elements, use the pressed property to determine whether a button is pressed. Use the value analog property only if your gameplay relies on the pressure applied to the button.