title: Unity Firebase SDK SetRawJsonValue performance
body: <p>I'm trying to get my head around an issue with my Unity 2D game where I'm using Firebase Realtime Database to store data like profiles, hits, misses, level progression etc.</p>
  
  <p>For now, I'm working on the scene where users can create a new profile/new character. I've got the following code working:</p>
  
  <pre><code>var db = FirebaseDatabase.DefaultInstance.RootReference;
  
  Profile profile = new Profile {
      userId = GameManager.Instance.User.UserId,
      name = "Bo Mortensen",
      age = 34,
      gender = "M"
  };
  
  string json = JsonUtility.ToJson (profile);
  
  // The Push() is almost instant
  var profileKey = db.Child ("profiles").Push ().Key;
  
  // However, this takes around 3 seconds to return, even when specifying 1 as it's priority..
  db.Child("profiles").Child(profileKey).SetRawJsonValueAsync (json, 1).ContinueWith (t =&gt; {
      if(t.IsFaulted) {
          Debug.Log("Faulted..");
      }
  
      if(t.IsCanceled) {
          Debug.Log("Cancelled..");
      }
  
      if(t.IsCompleted) {
          SceneManager.LoadScene ("Main game scene");
      }
  });
  </code></pre>
  
  <p>So, creating the actual profile reference for the key is almost instant, where the <code>SetRawJsonValueAsync</code> is really slow. Had a test where it took around 5 seconds before it loaded the next scene.</p>
  
  <p>Is this normal for Firebase? I've got a feeling, that I shouldn't wait for the task to return anything and just let it sit in the background working while I load the next scene. This will be really fast, but what if it's canceled or faulted? I'd have no control of that.</p>
  
  <p>Should say that I run my Unity game in debug mode and Firebase is currently the free tier for developing. Not sure if performance would increase with a paid tier of Firebase.</p>
  
  <p>Any help/hint is greatly appreciated!</p>
  
  <p>Thanks in advance.</p>