Google Play Games is in open beta.

Test your Google Play Games game

Stay organized with collections Save and categorize content based on your preferences.

The Google Play Games development environment is still in closed beta, but this doesn't stop you from updating your game to work on a PC. Your game will need to:

  • Run in an Android environment
  • Be built for the x86 or x86-64 architecture
  • Run on PC class hardware
  • Require a mouse and keyboard
  • Work with a large screen

All of which you can test on a Chrome OS device that supports Android. This will give you the chance to make any design or tooling changes needed to make your existing Android game work well on a PC.

Google Play Games specific SDKs like the Input SDK will not be available in Chrome OS. There will be additional changes you will have to build and test in the development environment. See PC Compatibility for more information.

If you need to toggle gameplay features based on device type, look for the "org.chromium.arc" system feature:

Kotlin

var isPC = packageManager.hasSystemFeature("org.chromium.arc")
  

Java

PackageManager pm = getPackageManager();
boolean isPC = pm.hasSystemFeature("org.chromium.arc")
  

C#

var unityPlayerClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
var currentActivity = unityPlayerClass.GetStatic<AndroidJavaObject>("currentActivity");
var packageManager = currentActivity.Call<AndroidJavaObject>("getPackageManager");
var isPC = packageManager.Call<bool>("hasSystemFeature", "org.chromium.arc");
  

You'll need to change this to "com.google.android.play.feature.HPE_EXPERIENCE" when you ship in the Google Play Games environment, but consider checking for both as any changes you make should benefit Google Play Games and ChromeOS:

Kotlin

var isPC = packageManager.hasSystemFeature("com.google.android.play.feature.HPE_EXPERIENCE")
  

Java

PackageManager pm = getPackageManager();
boolean isPC = pm.hasSystemFeature("com.google.android.play.feature.HPE_EXPERIENCE")
  

C#

var unityPlayerClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
var currentActivity = unityPlayerClass.GetStatic<AndroidJavaObject>("currentActivity");
var packageManager = currentActivity.Call<AndroidJavaObject>("getPackageManager");
var isPC = packageManager.Call<bool>("hasSystemFeature", "com.google.android.play.feature.HPE_EXPERIENCE");