Frequently asked questions

This document answers common questions about SDKs and publishing for Google Play Games on PC.

How to add a VPN?

For developers requiring to test their game in regions where Google Play Games on PC is not supported, we recommend that you use a VPN to acquire an IP address from a supported region.

Ensure that you enable TUN mode on VPN. Guidance on enabling TUN mode and configuring the firewall can be found in the VPN provider's operating manual.

After the TUN mode is enabled, install the Google Play Games on PC and the emulator for testing purposes.

Can you use the purchase flow without a backend server?

From a security perspective, processing without a backend server is generally not recommended.

For more information, see Process without a backend server.

How to start developing for Google Play Games on PC in Unity or UE Editor?

When you start a game using the Google Play Games app, does it sync your Google Account details

After launching the game through Google Play Games client, the account is automatically synchronized and there's no need to login through the Google Login process again.

When submitting a Windows App Bundle (WAB) using a 3P launcher, is the game package required for review?

You can just submit your installer and don't need to submit your entire game package, the reviewer will be able to download your game package using the installer.

If a player uses a 3P launcher instead of the Google Play Client, will their Play Games Services account sync automatically?

For the SDK functions to operate, the game must be launched directly through the Google Play Games client. If another process, such as an installer or launcher application, initiates the game, then that process must itself be launched from the Google Play Games client. The game must pass all parameters received from the client to the client process.

How does the SDK handle Google Account sign-in for multiple instances or accounts?

Each game launch in GPG is treated as a "game session" and each "game session" can have an account associated with it. They can be different. So if you launch the game with account A, and then switch to account B and relaunch both can run at the same time.

Are there any limitations of WAB (Windows App Bundle) file size?

You can upload up to 10 GB file size for a WAB.

Are existing API-based payment systems allowed after integrating the Google Play Games on PC SDK?

All payments must be handled by Google Play Games on PC SDK using the Google Play Billing. You cannot use your existing API-based payment method in the same game.

Are there any open testing or closed testing environments similar to the mobile?

While a dedicated end-to-end sandbox isn't currently available, we recognize the need for a production-like testing environment for developers. A more robust solution will be offered soon.

We cannot correctly consume purchases initiated in developer mode?

Consume purchase in the developer mode has to be done within 3 minutes, otherwise the purchase might have been refunded.

Are there any differences between API (legacy) and Google Play Games on PC SDK?

  • Legacy focused only on Billing
  • The SDK will support Google Desktop Service (GDS) and full PC features
  • Developer-friendly SDK interface
  • No browser-based Google Sign-in needed

Is there an alternative way to initialize the SDK by launching the game directly using the game launcher, without going through Google Play Games on PC?

Game has to be launched through the Google Play Games on PC client. For more details, see developer document

Recurring payments or subscriptions are unsupported; are there any plans to implement this?

There is no plan to add those purchase options beyond the In-App Purchase, we are welcomed to get your feedback with a specific use cases.

In the payment process, is the error code in the billingerror returned as the response of launching the purchase flow or obtaining the payment result? For purchase flow, can't we just await the SDK result instead of using a listener?

It is the response of the payment result. LaunchPurchaseFlow will return immediately without blocking but you have to listen to the callback in-order to know when it has finished and to capture the result.