Game Center allows user to track scores on a leaderboard, compare in-game achievements, invite friends to play a game, and start a multiplayer game through automatic matching.
Game Center functionality is provided in two parts:
The Game Center app, where users sign in to their account, discover new games, add new friends, and browse leaderboards and achievements
Game Center features that your app provides, such as multiplayer or turn-based games, in-game voice chat, and leaderboards
In your game, use the Game Kit APIs to post scores and achievements to the Game Center service and to display leaderboards in your user interface. You can also use Game Kit APIs to help users find others to play with in a multiplayer game. Note that to support Game Center in your macOS app, you must sign the app with a provisioning profile that enables Game Center. To learn more about adding Game Center support to your app, see Game Center Programming Guide.
For most games, it’s best to use the standard Game Center UI. Although it may make sense for some games with a distinct aesthetic to customize the Game Center user interface, in general, it’s appropriate to use the standard UI. This creates a consistent experience for users, because they recognize the look of Game Center features. Creating a custom Game Center UI to match your game’s aesthetic is not necessarily a better experience for users.
Use a consistent user interface for all versions of your game. If you have an iOS version of your game, make sure that achievements and any other custom Game Center features have a similar appearance for all versions.
Keep in mind that your macOS app should still be designed specifically for the platform and should not be simply a copy of your iOS app. For example, your app icon, which appears in Game Center, should not be the same rounded rectangle icon from iOS. For more information about designing a great app icon, see Designing App Icons.
Don’t add custom UI to prompt users to sign in to Game Center. When users first launch your Game Center–enabled app, they’re prompted to log in to Game Center, if they aren’t already logged in. Game Center takes care of presenting UI to the users and authenticating their account for you (you should not write your own code to do this).
Let users turn off voice chat. It’s a good idea to disable voice chat by default so that users aren’t overheard without their knowledge. When users turn on voice chat, make sure there’s an obvious way for them to turn it off.
Indicate when voice chat is on. When a player’s microphone is turned on, a game should make this clear to the user. As much as possible, it’s also a good idea to show which user is currently speaking.