Google Play Games is in open beta.

Google Play Games FAQ

This topic answers common questions about developing for Google Play Games.

Q: Can I keep ads from the Ads SDK in my game as long as I don't show them on PC?

A: Yes. For more information, see the Player Experience guide.

Q: Is there a size limit for an Google Play Games upload?

A: For the app bundle format, the limit is 150MB base + 2GB Play Asset Delivery. If this isn't sufficient, reach out to your Google Play point of contact.

Q: What if our game is designed for portrait mode and thus cannot be adapted to a landscape aspect ratio?

A: If you take no action, black bars will be displayed on either side of your game. We recommend that you add a background image to fill out the blank area. Here's an example:

A screenshot of the Google I/O user experience showing the player avatar in
the Android booth. The screenshot is in a landscape aspect ratio but the game
itself is in a portrait squre in the middle of it. Behind this screenshot is
some Google I/O branding involving colored circles and the Google I/O hash tag
to make the portrait experience look a little nicer on a landscape
display.

Q: What if HPE fails to start

A screenshot of a "Google HPE Error" dialog box that says "Unable to start
Google HPE as initialization failed."

A: There are a few quick debugging steps you can try:

  1. Make sure Windows has been updated the May 2020 patch or later.
  2. Make sure that you have not moved HPE, it must be on the `C:` drive.
  3. Reach out to your Google Play point of contact. You should send all available log files as well to ensure a speedy fix.

Q: How do I setup my tester track properly?

A: See the Android development guide.

Q: My game only supports x86 builds rather than x86-64; can I still comply with Play’s 64bit requirements?

A: For Google Play Games, you can submit a 32-bit x86 executable.

Q: How do I collect the log files?

A: The log files are stored in %LocalAppData%\Google\HPE_Dev and all end with the file extension .log. Normally, this path expands to C:\Users\<username>\AppData\Local\Google\HPE_Dev, although it may vary on your system. If you'd like to quickly gather all the log files and archive them to send to your Google Play point of contact, you can use this PowerShell command:

Compress-Archive -Path $env:LocalAppData\Google\HPE_Dev\*.log -DestinationPath
HpeLogs.zip

Q: How can I reconnect to the emulator if it disappears from adb devices?

A: The emulator connects over localhost port 6520. You can run this command to reconnect:

adb connect localhost:6520

Q: What is Package visibility filtering and why do I need to add a <queries> tag?

Package visibility applies to any game or application targetting Android 11 (API level 30). In many cases, developers' Google Play Games builds are their first experience interacting with the package visibility rules. With the new system, developers must explicitly declare the packages that they intend to interact with unless it is an automatically visible package.

Q: How do I resolve the error requires the Google Play Store, but it is missing, or why do features like billing work when I install the game from the Play Store but not when I sideload my game?

The new package visibility rules may block your game from accessing Play Services if it's not installed from the Play Store. You can resolve this by adding a query to the package "com.android.vending" in your AndroidManifest.xml file:

<manifest>
    <queries>
        <package android:name="com.android.vending" />
    </queries>
</manifest>

Q: Do I need to implement window resizing for Google Play Games?

No.

Q: Can I change the mouse mode between raw input and touchscreen emulation in the Google Play Games emulator?

A: To switch between simulated touch screen mode and "raw" mouse inputs, you can use the context menu on the HPE_Dev taskbar icon:

A screenshot of the Windows 11 taskbar. The carrot image is selected to show hidden icons, and a red square is shown around the "HPE_Dev" icon (an icon that looks like the Google Play logo)

Right click, select "Developer Options", and choose the input mode you'd like to simulate under "Mouse Input Mode".

A screenshot showing the context menu expanded on the HPE_Dev taskbar icon. The menu option "Developer Options" is expanded, and "Touchscreen" is checked under the "Mouse Input Mode" heading.

In the player experience, declaring that your game uses the feature android.hardware.type.pc will automatically switch like it currently does on Chrome OS.

<uses-feature
    android:name="android.hardware.type.pc"
    android:required="false" />

Q: Why does Play Games Services v2 auto sign-in fail on a mobile device?

A: At the moment there're two dependencies for Play Games Services v2 Sign-in to work on a device: GMS Core and Play Games App.

  1. The GMS Core version must be later than 21.30.xx. To check the version, use this command:

      $ adb shell dumpsys package com.google.android.gms | grep -i -e "versionCode" -e "versionName"
      versionCode=213016046 minSdk=30 targetSdk=31
      versionName=21.30.16 (150400-391784508)
      versionCode=202117048 minSdk=30 targetSdk=30
      versionName=20.21.17 (150408-316502805)
    

    The first versionName is the version to check. The GMS Core update should be automatically pushed onto an Android device. Please inform us if it hasn't.

  2. The Google Play Games app version must be 2021.08.29094 and above. You can check this by going to Settings > Apps, selecting the Play Games App, then finding the version number at the bottom of the details page.

    Please note that you no longer need to sideload the Play Games app to test Play Games Services v2 - the necessary version should be available now on user devices.

Q: Can I use frame pacing in Google Play Games (or "Why does my Unity game crash on launch")?

A: The frame pacing library is supported in Google Play Games, but the version included with the Unity game currently causes a crash on launch. If you're using the Unity game engine, look for the "Optimize Frame Pacing" build option and ensure that it's disabled.

A screenshot of the "Project Settings" window in Unity. The Player category is selected in the left navigation panel, the Android tab is selected in the settings window, and the "Resolution and Presentation" panel is expanded. "Optimize Frame Pacing" is highlighted and the checkbox is empty indicating that it has been turned off.

Q: Is it possible to allow players to upload locally stored images from Google Play Games?

A: The emulator currently doesn't have a meaningful local filesystem abstraction for choosing or aggregating images stored on a player's PC. If you currently use Intent.ACTION_PICK mixed with MediaStore.Images.Media, you should remove this code in Google Play Games builds for now.

Q: Can you run multiple instance of the emulator, or multiple games in the emulator at once?

A: The emulator only supports running one emulator instance, and only supports running one game at a time. The emulator also does not support running multiple instances of the same game.

Q: Can we use push notifications for Google Play Games?

A: Because Google Play Games uses an emulator, push notifications have limited support.