Google Play Games requires that you update the graphics capabilities of your game and add support for large screens. This topic describes those requirements and related recommendations.
Here's a summary of the requirements and recommendations on this page:
- When possible, use texture compression (recommended)
- Don't use an OpenGL ES version higher than 3.0 (required)
- If using Vulkan, only use up to version 1.1 (required)
- Increase or remove frame rate limits (recommended)
- Use high resolution assets and textures (required)
- Adjust UI scaling (required)
- Support the required aspect ratios (required)
- Make dynamic display updates (required)
Since Google Play Games passes through compressed textures whenever
possible, you should use
BPTC to take advantage of PC hardware.
Sometimes these textures still need to be decompressed if OpenGL features need
to be emulated for compatibility reasons, so you should always
profile your game.
Formats such as
ETC2 are decompressed by the OpenGL translation
layer before being sent to the native graphics stack. These will continue to
work, but won't have the same memory or runtime efficiency benefits as you'd
expect on mobile hardware.
OpenGL ES version
Google Play Games supports OpenGL ES 3.0. In order to maintain
compatibility with Google Play Games, make sure you don't specify a
version higher than OpenGL ES 3.0 in your
Google Play Games supports Vulkan 1.1. In order to maintain compatibility with Google Play Games, ensure your game does not require a version higher than Vulkan 1.1.
Increase maximum frame rate limits
Some players will be able to run your game at a much higher frame rate on PCs than on mobile devices. To give your players the best experience, we recommend either ensuring the cap is at least 60 fps or removing your frame rate limits altogether.
Large screen optimization
The following large-screen optimizations are require by Google Play Games:
High resolution assets and textures
On PCs, you can expect a performance level that matches a high-end Android-powered device released in the last 12 months. This means that your game should use your higher resolution game assets. When possible, make these available in the initial launch of your game. Players are more likely to notice lower resolution textures and models on a large PC screen than a phone.
If you're using Opaque Binary Blob OBB files (also known as APK expansion files) to deliver assets, additional high resolution assets might cause the total size to exceed the OBB limit of 2 GB main plus 2GB patch). In this case, consider using Play Asset Delivery to deliver your assets.
With Play Asset Delivery, you can automatically deliver the textures that match a device's best supported texture compression format without increasing the game size. You can also target devices based on their performance level, and automatically deliver higher or lower resolution textures accordingly.
Play Asset Delivery is supported on Unity 5.6 and above through the Play Asset Delivery Unity plugin, and on Unreal Engine 4.25. For other engines, we provide Java and Native SDKs.
On a larger screen, you may need to adjust your game's UI to ensure all elements are appropriately sized. We recommend that HUDs take up no more than 20% of the screen.
Google Play Games requires support for the 16:9 aspect ratio. For an ideal player experience, games should also support 21:9, 16:10, and 3:2.
Portrait mode games only need to support the 9:16 aspect ratio. Google Play Games renders black bars in full screen mode if your game lacks landscape support.
Google Play Games displays your game using fixed display resolutions. The resolution is determined when the game launches and persists when the game window is resized or toggled between fullscreen and windowed mode. There are no callbacks provided to respond to these changes. The rendered image is automatically expanded or shrunk to match the window size on screen, and the aspect ratio is never changed. When entering fullscreen mode at a different aspect ratio than the one computed by Google Play Games, your game appears centered and stretches to fit the visible area with black bars filling in the remaining empty space to maintain the aspect ratio.
To give your players the best experience with this display resizing, do the following:
- If your game plays best in portrait mode and players are likely to play it while multitasking, don't specify support for landscape mode. A portrait aspect ratio is only the closest match if the player has a portrait monitor.
- Specify supported min and max aspect ratios with
android:maxAspectRatio, unless the game supports all of the 21:9, 16:9, 16:10, and 3:2 ratios.
- Although Google Play Games reports DPI, this does not change while your game is active. If your game is well suited for multitasking, you should test the legibility of game elements when toggling between windowed and fullscreen modes.
- The screen resolution for your game is determined by the closest match between a game's supported aspect ratios and the geometry of the primary monitor.