Easy Google Play Service – Multiplayer

Easy Google Play Service – Multiplayer asset from unity asset store allows you to easily access multiplayer and other play services functionality.Starting a multiplayer game is never easier before this, get started from here.

This asset provides:

  1. Cloud Save
  2. Leaderboards
  3. Achievements
  4. Real-Time Multiplayer
  5. Video Recording

Here is the example how can you use it.

  • Configure google play game services

  Configure your game with the google play services.There is also one override function for configuring your game with different parameters. 

  • Sign in and sign out

    To use some services in your game you must have a sign-in into your game to work as aspected.

  • Show Achievement UI

    This code show default achievement UI from google.

  • Show Leaderboard UI

    This code show default Leaderboard UI from google.

  • Save Data to Cloud

    This will save your data with associated filename.If you don’t want to provide a filename, it will show default save data UI from google where you can save your data easily too.

  • Load Data from Cloud

    This will Load your data from associated filename.If you don’t have a filename, it will show default Load data UI from google where you can load your data easily too.

  • Show Invitation Inbox

    It will show all your invitations.

  • Start Video Recording
    • Register Video State Change Listener

  • Show Video Overlay

    This is show video overlay if your mobile supports this service and provides a video recording overlay.

You can also share this video directly on YouTube.

Now let’s see some Real-time game functionality:

  • Create a Quick Match

    This will create or join existing room immediately.

  • Create with Invitation Screen

    This will provide invitation screen to invite your friends and play with random players.

  • Show Waiting Room UI

    This is useful to show waiting room UI still player not join any room.

  • Leave Room

    Leave the current playing room.

It has some more functionality and supports.You can Download and access that functionality seamlessly.It also included demo scene for real-time game and other services.

Get Pro version, Easy Google Play Service – Multiplayer Pro

Get more helpful asset:

35 thoughts on “Easy Google Play Service – Multiplayer”

  1. As supports cloud save I have a question I want to save gameobject which are instantiated in the scene on the google play games cloud save and load it back when the app is uninstalled and reinstalled with same account login. Can it do this? Waiting for your reply

    1. Yes, It can do this by this simple trick.
      1)Convert object to byte array
      2)Save this byte array in the cloud.
      3)Retrieve byte array from the cloud.
      4)Convert a byte array to object.

      1. Thanks for you reply. Yes the plugin works great.
        I very new to this and I have some questions, how to get the object serialized in byte array to be used in the saving and how is the cloud save data given reference of the serialized object we want to save using the cloud saving function.

        1. Do this simple trick
          1) object to byte array
          private byte[] ObjectToByteArray(Object obj)
          if(obj == null)
          return null;

          BinaryFormatter bf = new BinaryFormatter();
          MemoryStream ms = new MemoryStream();
          bf.Serialize(ms, obj);

          return ms.ToArray();

          2) Cloud saving supports the filename associated with the byte array.Give Unique filename to your byte array.
          3) Retrieve back this byte array from the cloud using the filename.
          4) Convert byte array to object using this,
          private Object ByteArrayToObject(byte[] arrBytes)
          MemoryStream memStream = new MemoryStream();
          BinaryFormatter binForm = new BinaryFormatter();
          memStream.Write(arrBytes, 0, arrBytes.Length);
          memStream.Seek(0, SeekOrigin.Begin);
          Object obj = (Object) binForm.Deserialize(memStream);

          return obj;

          1. Thank you very much for the explain. I have more question. Can you please tell how can I use the same method to save object’s location so I can get it at load. Also please tell how do I give reference to the object to the script .Thanks 🙂

          2. 1) convert object transform into byte array
            2) save it to cloud.
            3) Get back from the cloud.
            4) convert byte to object transform.
            5) Assign this transform back to object.

            Now, as soon as object load from the cloud you can give reference to the script.

          3. I am taking more then one object so how can I serialize the list of transform in put in the list code is –
            byte[] WriteValuesToBytes()
            MemoryStream ms = new MemoryStream();
            BinaryWriter writer = new BinaryWriter(ms);
            BinaryFormatter bf = new BinaryFormatter();
            list1.myList; // mylist is the transform list in other script
            bf.Serialize(ms, apple); // get error
            writer.Write(apple); //error bool value required
            return ms.ToArray();

            and for deserialize
            ms.Write(arrBytes, 0, arrBytes.Length);
            ms.Seek(0, SeekOrigin.Begin);
            Transform[] list1.myList = (Transform[])binForm.Deserialize(ms); // error

          4. here’s how you can do this.
            1) Create a class which contains your list of Transform objects variables.
            2) Create an object of this class and assign that list a valid transform value.
            3) Convert that class object to byte array and vice versa.

            Do not hesitate for a coding solution.

    1. hanks for all the help I made script with the solution but it is not saving the list as I made can you please take a look and tell what is the problem in the serialization. I call the load and save method on btn events as you will see here – https://goo.gl/8oz29J

      1. You can do it like this
        public class demo
        public List mylist = new List();

        now in your Spawn class add this,

        public demo demoinstance;

        and add this into your start function
        demoinstance = new demo();

        now assign your apple list to mylist
        demoinstance.mylist = apple;

        now serialize demoinstance and deserialize when you need.

        1. Thank you for all the help can you please tell how can I serialize and deserialize a list of transform I search many times but have no solution for it

  2. login fail. ;(
    log: Filename: ./artifacts/generated/common/runtime/DebugBindings.gen.cpp Line: 51

    sdk version: use 3859397 but build error so use r25.2.5 version’ tools
    unity version: 5.6.3f1
    jdk version: 1.8.0_144
    unity google service plugin version: 0.9.40

      1. i alreay check GitHub……

        When I linked my app It had App signing SHA1 in API manager by default. Then the app was trying to sign in but failing every time. I replaced Upload Certificate with App Signing Certificate, now even signing in screen doesn’t pop up and crash.
        so i want know your jdk, skd, unity version plz…..

  3. using GooglePlayGames.BasicApi;
    using UnityEngine;
    using GooglePlayGames;

    public class PlayGamesScript : MonoBehaviour
    void Update()


    Social.localUser.Authenticate((bool success) =>


    if (success)


    Debug.Log(“Login Sucess”);




    Debug.Log(“Login failed”);




    void Start()


    PlayGamesPlatform.DebugLogEnabled = true;

    //Activate the Google Play gaems platform


    thx reply
    I used this code, and it worked. I do not know why your code did not work.
    Do I need to set something in advance to use your code?

    1. no advanced setting needed just pass parameter in authentication process as you want.
      It is not best practice to use authentication in every frame in an update function.

      1. thx very much fix that. but crash when Savedgame is enabled in google play console -> game service. plz help

          1. thx thx very much
            sometimes crash. later prtsc that’s log.
            I have another question. “create Quick Match” and “ShowWaitingRoomUI” worked very well but “Leave Room” not worked. and “Record Video” too it’s log: Video Capture not suppored.

  4. I been browsing online more than one hours today for benjamin moore paint canada & Easy Google Play Service – Multiplayer, yet I
    never found any interesting article like yours. It is pretty
    worth enough for me. In my opinion, if all webmasters and bloggers made good content as you
    did, the net will be much more useful than ever before.

Leave a Reply

Your email address will not be published. Required fields are marked *