Setup
Configuring Game Services for iOS Game Center and Android Play Games
Game Services requires platform-specific configuration in App Store Connect (iOS) and Google Play Console (Android), plus Essential Kit settings configuration.
Prerequisites
Essential Kit imported into the project from My Assets section of Package Manager
iOS builds require Game Center configuration in App Store Connect
Android builds require Play Games Services setup in Google Play Console
Leaderboards and achievements must be created on both platforms with unique IDs
Setup Checklist
Platform Configuration: Configure leaderboards and achievements in App Store Connect and Google Play Console (see platform-specific guides below)
Enable Feature: Open Essential Kit Settings (
Window > Voxel Busters > Essential Kit > Open Settings
), switch to the Services tab, and enable Game ServicesAdd Definitions: In Game Services settings, add leaderboard and achievement definitions matching your platform configurations
Configure Properties: Set achievement completion banner preference and friends access permissions
Verify Settings: Changes save automatically. If using source control, commit the updated
Resources/EssentialKitSettings.asset
file
Platform-Specific Setup
Game Services requires creating leaderboards and achievements on each platform's developer console before configuring Essential Kit.
iOSAndroidEssential Kit Configuration
After creating leaderboards and achievements in platform dashboards, configure them in Essential Kit Settings.

Leaderboard Configuration
Each leaderboard needs a common ID for your code and platform-specific IDs matching your dashboard configuration.
Example Configuration:
Leaderboard ID: "high_score"
├─ iOS Platform ID: "com.yourcompany.yourgame.highscore"
├─ Android Platform ID: "CgkI7_abc123HIGHSCORE"
└─ Title: "High Scores"
To add leaderboards:
In Game Services settings, click Add Leaderboard
Set Id - common identifier used in code (e.g., "high_score")
Enter iOS Platform ID from App Store Connect Game Center configuration
Enter Android Platform ID from Google Play Console leaderboards
Set Title for debugging reference (optional)

Achievement Configuration
Each achievement needs a common ID for your code and platform-specific IDs from platform dashboards.
Example Configuration:
Achievement ID: "first_win"
├─ iOS Platform ID: "com.yourcompany.yourgame.firstwin"
├─ Android Platform ID: "CgkI7_ghi789FIRSTWIN"
├─ Title: "First Victory"
└─ Steps to Unlock: 1 (use >1 for incremental achievements)
To add achievements:
In Game Services settings, click Add Achievement
Set Id - common identifier used in code (e.g., "first_win")
Enter iOS Platform ID from App Store Connect Game Center configuration
Enter Android Platform ID from Google Play Console achievements
Set Title for debugging reference (optional)
Set Number of Steps to Unlock (1 for single unlock, >1 for incremental)

On iOS, if you plan to deploy to multiple Apple platforms (macOS, tvOS), use leaderboard/achievement groups from the start. Group IDs must start with "grp." prefix and be unique.
Recommended format: grp.com.companyname.gamename.itemname
Example: grp.com.voxelbusters.flappybird.highscoreleaderboard
This avoids changing IDs later once you have live versions on different platforms.
Configuration Reference
General Settings
Enable Game Services
All
Off
Must be enabled to include Game Services in builds
Leaderboards
All
Empty
Array of leaderboard definitions
Achievements
All
Empty
Array of achievement definitions
Show Achievement Completion Banner
iOS
On
Displays native iOS banner when achievements unlock
Allow Friends Access
All
Off
Adds permissions for friends list access
Android Properties
Android
Auto
OAuth client and display configuration
Leaderboard Properties
Id
string
Yes
Common identifier used in code across all platforms
iOS Platform ID
string
Yes (iOS)
Leaderboard ID from App Store Connect Game Center
Android Platform ID
string
Yes (Android)
Leaderboard ID from Google Play Console
Platform Id Overrides
object
Optional
Per-platform ID overrides if IDs differ
Title
string
Optional
Debugging label (not shown to players in game)
Achievement Properties
Id
string
Yes
Common identifier used in code across all platforms
iOS Platform ID
string
Yes (iOS)
Achievement ID from App Store Connect Game Center
Android Platform ID
string
Yes (Android)
Achievement ID from Google Play Console
Platform Id Overrides
object
Optional
Per-platform ID overrides if IDs differ
Title
string
Optional
Debugging label (not shown to players in game)
Number of Steps to Unlock
int
Yes
Set to 1 for single unlock, >1 for incremental achievements
Android Properties
Play Services Application Id
string
Yes
Project ID from Google Play Console → Play Games Services → Configuration
Server Client Id
string
Optional
Web OAuth Client ID for backend access to player data (not Android OAuth)
Show Alert Dialogs
bool
Optional
Display native error dialogs for sign-in failures
Android Server Client ID: Only required if you access Play Games profile data from your backend server. Use Web Platform OAuth Client ID, NOT Android OAuth Client ID. Using the wrong OAuth client will cause sign-in failures.
To create: Google Cloud Console → Credentials → Create OAuth Client → Web Application
Leaderboard and achievement IDs must exactly match the platform IDs configured in App Store Connect and Google Play Console. Mismatched IDs will cause runtime errors when calling Game Services APIs.
Automatic Platform Integration
Essential Kit automatically handles platform-specific configuration during build:
iOS: Adds GameKit.framework, configures capabilities, injects Info.plist entries
Android: Adds Play Games Services dependencies, configures AndroidManifest permissions
You don't need to manually configure Xcode projects or AndroidManifest.xml files.
Next Steps
After completing setup, proceed to the Usage Guide to learn how to authenticate players and implement leaderboards and achievements in your game.
Last updated
Was this helpful?