Create instant games on Unity on Google Play Instant

    Hello! We translated an article from Google with step-by-step instructions on creating an Instant Game on Google Play for games on Unity.

    Google announced the Google Play Instant service in March 2018; since then, game developers can create games with instant immersion. There are several ways to attract players to instant games: from the TRY NOW button on Google Play to the regular link that users can share with each other. Thanks to this, developers can demonstrate their game and attract new users. This article talks about how to build a ready-to-launch Unity instant game from scratch, and the benefits of instant games. Continued under the cut.

    Using the Google Play Instant service, you can take your games to the next level:

    1. Increase discoverability

    Thanks to Google Play Instant, it will be easier for players to find and try your game. Users can launch your game from the Google Play Store with one click - the TRY NOW button will appear next to the download button, and you can also switch to an instant game from a mobile site by simply clicking on a web banner.


    And that's not all. Users can try your game through the shared link through Google Search, social networks, instant messengers, email and other platforms.


    2. Lead to installation

    Since players do not need to install the game on the device, they will be very enthusiastic about agreeing to try it. Instant games do not require installation time and do not occupy memory on the user's device. They give the user a chance to see the best that is in the game, and then install the full version without losing progress.

    3. Improve retention

    When you give the user a chance to try your game, they are convinced that it is worth it to install it. The number of users who uninstall the game immediately after installation is also reduced. Users install the game consciously and enjoy it, which increases the number of players who installed it.

    Game developers have already appreciated the advantages of instant games in comparison with installed games (cases here in English):

    This is just the beginning! Here you can see other successful cases using Google Play Instant.

    How to seamlessly integrate Google Play Instant with a game on Unity?

    You can build an instant game and place it on the internal testing platform in a few hours. You can test your game and immediately show it (if it does not exceed the limit of 13.5 MB for games on Unity). You will see the TRY NOW button on the Play Store. After the game is placed in a test environment, you need to focus on the following:

    • Decide how the instant game should look
    • Reduce the build size to 13.5 MB (limit for Unity games)
    • Drive an instant game through tests and QA (the game must meet the requirements of the sandbox and permissions regarding user safety ). We recommend testing the game on different versions of the OS - at least on Nougat and Oreo

    Depending on the complexity of the game and the implementation details, the time you spend on completing these steps depends.

    What's next?

    Create an instant game in 5 steps.

    Step 1: create a working environment

    Before you start creating an instant game, go over the checklist to make sure that you have everything you need.

    • Unity version 5.6 or later (we do not recommend using an assembly older than 2017.4)
    • Unity Google Play Instant plugin ( asset store ) ( source )
    • Android device (physical or virtual) with a version not older than Android 5.0 (Lollipop), working in developer mode and with USB debugging enabled
    • Access the APK source code for building debug versions and the release version
    • Installed testing environment on the Google Play Console
    • Unity Development Beta Account (Required for Production)

    Step 2: Build and Test the Instant Game

    You are now converting an existing game into an instant game. Do not worry so far about reducing the size or building the build for instant play - this instruction will give you the opportunity to understand how the whole process looks.

    1. Select PlayInstant → Build Settings


    2. In the drop-down menu, change Android Build Type to Instant

    • Until you configure the Digital Asset Link , do not fill in the Instant Apps URL line
    • If necessary, you can specify a different environment in the line Override Scene
    • If you are using digital assets , select the appropriate manifest in the AssetBundle Manifest field
    • Click Save


    3. Select PlayInstant → Player Settings . In the settings there will be a popup window:

    • Click the Update button next to the Required changes list items to save the settings before starting the instant application
    • We recommend updating the settings according to the Recommended changes (mainly aimed at reducing the size)
    • Close popup


    4. After configuration, select PlayInstant → Build and Run to start the instant application on the connected device.

    Step 3: Loading into the internal environment for testing

    The last step with the instant game created is to take the build and upload it to the internal environment for testing the Play Store (it can contain up to 100 testers simultaneously). To download the game to the internal platform for testing, it is not necessary to comply with the limit of 13.5 MB.

    • Choose PlayInstant → Build for Play Console
    • Go to the Google Play Console, make sure that the right application is selected, open the Android Instant Apps tab .
    • Select Instant app internal test and follow the instructions on this page to download the file that you created during the first step. More information in this guide for releasing an instant app : releasing an instant app .

    Managing the release of an instant application through the Google Play Console

    Note: Make sure that you have properly configured access for the list of internal application testers. Change settings here: App releases -> Instant app internal test -> Manage Testers .

    Step 4: Reduce to Limit 13.5 Mb

    After familiarizing yourself with all the technical details of testing an instant game build, you need to decide what the game will look like and proceed with downsizing. Don’t worry if the game weighs a lot - developers with builds larger than 350 MB can run instant games painlessly. Here are some techniques for reducing build size:

    Optimizing settings

    As we saw earlier in: PlayInstant → Player Settings , this menu offers a number of recommendations for reducing build size. These changes reduce the size of the game:

    • Monobuilds must support reduction of unused code
    • Graphical API only OpenGLES2
    • IL2CPP Builds Must Support Unused Code Reduction

    Simplification of game content

    Do not try to push the whole game into an instant application. The instant game should show the gameplay - demonstrate a tutorial or some special levels. Remove unnecessary textures, models, image and audio accompaniment - in a word, all that is not the basis of gameplay.

    Finally, to reduce the size, compress the digital objects:

    • Texture resolution
    • Number of polygons in 3D models
    • Audio Track Quality

    Read about UX best practices in instant applications here: instant game UX best practices .

    Using the assets list (Asset Bundles)

    assets list Sets ( Asset Bundles ) will help you load the Asset directly during the execution of the game. If assets are not downloaded before launch, they will not be counted in the 13.5 MB limit. This is the most common way for game developers to reduce the size of an instant game. You need three components:

    1. A set of assets created from the environment of your instant game.
    2. A boot screen that shows the user information about loading assets in the background.
    3. A web server or CDN as an asset host.

    We’ll tell you about the fastest and most efficient way to use assets through the Quick Deploy tool included in the Unity plugin on Google Play Instant. This tool will allow you to create a set of assets and a working screen during which your assets will be loaded. For the third step, simply place the assets on any host that supports HTTPS and public files - for example, on your own server, in Google Cloud Storage or on a third-party CDN.

    Note: you can use as many sets of assets as you want, but each asset should not exceed the size of 15 MB.

    1. Choose PlayInstant → Quick Deploy
    2. Open the Bundle Creation tab , select the environment for dynamic display. After that, select the Build AssetBundle at the bottom of the screen and upload the file to your web server or CDN.
    3. Click the Loading Screen tab and enter the URL for your asset set, as well as the background textures that you want to use for the loading screen (one is enough by default). When finished, click Create Loading Scene .


    You should get a boot screen that will invoke your asset set. You can search for custom autogenerated boot screen script for Unity if you want to see how it is done, or configure it as you like.

    Step 5: Helping the player switch from instant play to installed play

    Now we need to think about how the user will switch from an instant game to a full one. If necessary, you can transfer data through a dialog using the Cookie API (built into the Unity plugin in Google Play Instant).

    Updating an instant game to an installed application

    Your game should offer the user a way to install the full version - a tooltip or button (but not during the game process!). When the user is ready to install the game, the plugin calls ShowInstallPromptmethodand directs the user to Google Play:

    using GooglePlayInstant;
    public void install() {

    Saving data when upgrading to the installed version (optional)

    In some cases, you will need to save the player’s data and his progress during the instant game. For instance:

    • When a player purchases in-game purchases or customizes a character
    • If the instant game is like a game tutorial (the player should be able to skip training in the installed game)
    • To reward the player for installing the game from the instant version

    You can use the Cookie APIs that go to the Google Play plugin, this tool will allow you to easily write and read data lines before and after installation, respectively:

    1. Call CookieApi.SetInstantAppCookieto save data lines from an instant game

    using GooglePlayInstant;
    	public void StoreData(string data) {

    2. Call CookieApi.GetInstantAppCookiein the installed game to return rows with data

    using GooglePlayInstant;
    	var data = CookieApi.GetInstantAppCookie(data);

    These steps will help you learn how to create a game through Google Play Instant. From the links you can read more documents , study frequently asked questions or get information about instant games .

    Also popular now: