Streaming is available in most browsers,
and in the Developer app.
-
Reach new players with Game Center dashboard
Meet the Game Center activity dashboard and discover how it can help your game reach new players. We'll introduce you to the dashboard and profiles and explore how they can track player achievements, high scores, and leaderboard changes for your game. We'll also show you how to add Game Center to your Unity game project using the Game Center plug-in.
Resources
Related Videos
Tech Talks
WWDC22
WWDC21
- Bring Recurring Leaderboards to your game
- What’s new in Game Center: Widgets, friends, and multiplayer improvements
WWDC20
-
Download
♪ instrumental hip hop music ♪ Hello. My name is Knott. I'm from Game Center Engineering. Today, I'm going to walk you through improvements we're making in Game Center this year. Game Center is Apple's social gaming platform. With Game Center, players set up a profile and connect with friends.
Using GameKit, you can easily integrate with Game Center. Players will be automatically signed in, can compare scores with their friends and other players on leaderboards, and can track progress through achievements. You can also integrate support for multiplayer matchmaking and realtime play.
Over the past couple of years, we've introduced the Access Point, redesigned the achievements and leaderboards experiences — introduced the friends API, and improved the multiplayer experience. Additionally, we've been bringing Game Center activity to more places across the device including surfacing what you and friends are playing in the App Store, and creating new widgets like Continue Playing and Friends are Playing.
This year, we're going even further to make the experience better for all players, provide more exposure for all of the great things happening in your games, and give you some new tools to integrate more easily with Game Center. I'll walk you through Activity which brings together all of the Game Center events from your games into one place. But before we get to that, I have an announcement to make. We know a lot of game developers are leveraging Unity to help build gaming experiences on Apple platforms. This year, we are releasing a Unity plug-in we've developed specifically for GameKit! The plug-in provides an entire GameKit API in C#. So, you don't have to choose between building your game with Unity, and taking full advantage of the first class gaming features in Game Center.
Throughout this session, you'll see code examples provided not only in Swift, but also in C#. Now, let's dive right into one of the biggest changes to Game Center this year: Activity. There are so many exciting things happening in your games that friends might want to tell each other about. For example, when they get a new achievement, or jump up a leaderboard. We've redesigned the Game Center dashboard this year so that it will now include activity from a player's friends in your game and across games, all in one place.
When a player opens the dashboard, they will see recent activity in your game like achievements earned, when friends have made huge jumps on the leaderboard, or when one friend has beaten another player's high score. And, of course we are designing this to work on iPad, Mac and Apple TV as well. I am really excited about what this means for players to see and engage more with what their friends are doing, and to have your game and all of the great activity from your game discovered in more places. If you are already using Game Center for your games, you don't have to do anything! Your games will already appear in Activity. But if not, it's really easy to get started. All you need to do is enable the Game Center capability and write just a few lines of code to make sure authentication goes smoothly. First, go to your game's Xcode project, then head over to the Signing and Capabilities tab. Click on the add capability button, then select Game Center. Then, go to your app record in App Store Connect in order to enable Game Center for your game. This is also the place where you can configure Game Center features, such as leaderboards and achievements. And finally, import GameKit, then authenticate the local player by setting the authenticateHandler. You'll want to place this code as early as possible in your game, even on the title screen. Then, if there is a view controller available from the callback, present it here. For Unity developers, just call "authenticate" on GKLocalPlayer. This static method returns the local player object once authenticated. Congratulations! Your game is now Game Center enabled. Players will see this welcome banner when they launch your game, and gameplay activity for your game will start appearing in the players' feeds. Now, all that's left is for you to provide players easy access to the Dashboard. The best way to do so is through the Game Center Access Point. Access Point provides your players a convenient way to launch the Game Center dashboard. Let's jump back to some code. Showing the access point is easy. First, you'll want to decide on the most appropriate time to display it. You should consider what makes the most sense for your game, but for many games, the ideal presentation occurs on the game menu page. Once you've determined that, all you need to do is set a location for its appearance, and then set the GKAccessPoint's 'isActive' property to 'true.' As a result, the Access Point will show up in your game. And here is how Unity developers can use GKAccessPoint in C#. Set the Access Point's location and set IsActive to true. When players interact with the Access Point, the system brings up the Dashboard. This provides a familiar place for players to learn more about your game as well as check in on recent activity. Players can explore your game's own achievements and leaderboards. Next, players will see gameplay events for your game, featured first in the feed. Here, Cloeax, Jeezzzy and I are playing The Coast. With just those few lines of code, your game will get increased reach and distribution while tying in to the broader gaming experience on Apple platforms. There are a lot of things you can add in your game that will generate Activity. Let's start with Leaderboards. Leaderboards are a powerful way to increase your game's exposure in Activity. They encourage friendly competition, giving players more reasons to jump back into your game. After you have set up a leaderboard in your game, players will see new activity when their friends are doing well on a leaderboard. Here, my friend placed in the top 25% of a leaderboard. Activity also highlights when a player's friend beats their leaderboard score. Here, Simundane just beat my score in a game we've been competing on back and forth. For this activity, players will also get a notification. This notification is sent from Game Center, and you don't need to worry about asking the user to opt in to notifications for your game. If your game already provides leaderboards, these activities will appear automatically. Even if you're already taking advantage of leaderboards, consider expanding your leaderboard sets to provide more moments of competition for players and their friends. Recurring leaderboards in particular provide a sense of timeliness and a reason to re-engage with your game on an ongoing basis. Next, I'd like to talk about how Game Center Achievements are featured in Activity. Achievements provide players an additional way of engaging with your game, tracking gameplay progress, and sharing that progress with friends. When a player completes an achievement in your game, this will be reflected in their activity and their friends' activity as well. When a player completes every achievement in your game, we take a moment to recognize that with a special celebratory activity. Achievements provide players with a sense of progress and accomplishment, and can help tell a story of how far a player has made it through your game. With prominent placement in Activity, achievements instantly receive wider visibility throughout the Game Center social network. Players can see how their friends are doing, and they'll have more reasons to jump into your game and play together. You just saw what players will see when they land on your game's Dashboard. Players can also visit a friend's profile to see all of their recent activity in one place. And of course, what you see or don't see on someone's profile is still based on the profile privacy option they choose in Game Center settings. And that is Activity: a place where players can discover their friends' activity in your game, as well as check in on their friends' activity across games. In summary, Game Center is helping you help your players have more fun playing with and competing against their friends. Activity is a great destination for players to check in on their progress as well as their friends' progress and provide you more distribution. And for Unity developers, it is now possible to take advantage of the full extent of GameKit with our brand new Unity plug-in. You can learn more about how to bring the best out of Game Center features from your game, how to use recurring leaderboards, and how to use GameKit in your Unity games in the sessions linked to this video. I have covered a lot today. And we trust that this year's updates will bring more joy to players of your games. Thank you for watching.
-
-
4:11 - Authenticate the local player
// Authenticate the local player import GameKit class TitleScreenViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // Authenticate the local player GKLocalPlayer.local.authenticateHandler = { viewController, error in if let viewController = viewController { // Present the view controller from Game Center. return } } } }
-
4:30 - Authenticate the local player
// Authenticate the local player using Apple.GameKit; public class MyGameManager : MonoBehaviour { private GKLocalPlayer _localPlayer; private async Task Start() { try { _localPlayer = await GKLocalPlayer.Authenticate(); } catch (Exception exception) { // Handle exception... } } }
-
5:25 - Show the Access Point
// Show the Access Point import GameKit class MenuScreenViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() GKAccessPoint.shared.location = .topLeading GKAccessPoint.shared.isActive = true } }
-
5:40 - Show the Access Point
// Show the Access Point GKAccessPoint.Shared.Location = GKAcessPoint.GKAccessPointLocation.TopLeading; GKAccessPoint.Shared.IsActive = true;
-
-
Looking for something specific? Enter a topic above and jump straight to the good stuff.
An error occurred when submitting your query. Please check your Internet connection and try again.