title: error CS0012: The type 'Task<>' is defined in an assembly that is not referenced. You must add a reference to assembly 'Unity.Tasks, Version=0.0.0.0
body: <p>I'm unable to build a firebase authentication project, receiving the following error in Unity 2022.1.12f1 (latest version):</p>
  <p>Assets\Scripts\FirebaseGoogleLogin.cs(83,13): error CS0012: The type 'Task&lt;&gt;' is defined in an assembly that is not referenced. You must add a reference to assembly 'Unity.Tasks, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.</p>
  <p>The general consensus I'm seeing is that I'm missing a .dll or a preference but i do not know how to fix it. Can someone please tell me what I'm missing? here's the full code:</p>
  <p>///////</p>
  <pre><code>using System.Collections;
  using System.Collections.Generic;
  using UnityEngine;
  using System.Threading.Tasks;
  using Firebase;
  using Firebase.Extensions;
  using Firebase.Auth;
  using UnityEngine.UI;
  using Google;
  using System.Net.Http;
  
  
  
  public class FirebaseGoogleLogin : MonoBehaviour
  {
      //This is requiered for google sign in, the API provided by firebase.
      public string GoogleWebAPI = &quot;156713740158-5h54pcnlng8708rljonv24p9afcrnudt.apps.googleusercontent.com&quot;;
  
      private GoogleSignInConfiguration configuration;
  
      Firebase.DependencyStatus dependencyStatus = Firebase.DependencyStatus.UnavailableOther;
      Firebase.Auth.FirebaseAuth auth;
      Firebase.Auth.FirebaseUser user;
  
  
      public Text UsernameTxt, UserEmailTxt;
  
      public Image UserProfilePic;
  
      public string imageUrl;
  
      public GameObject LoginScreen, ProfileScreen;
  
  
      void Awake()
      {
          // Here I will configure the webAPI key with Google
          configuration = new GoogleSignInConfiguration
          {
              WebClientId = GoogleWebAPI,
              RequestIdToken = true
          };
      }
  
  
      void Start()
      {
          InitFirebase();
      }
  
  
      void InitFirebase()
      {
          auth = Firebase.Auth.FirebaseAuth.DefaultInstance;
      }
  
      void GoogleSignInClick()
      {
          GoogleSignIn.Configuration = configuration;
          GoogleSignIn.Configuration.UseGameSignIn = false;
          GoogleSignIn.Configuration.RequestIdToken = true;
          GoogleSignIn.Configuration.RequestEmail = true;
  
          GoogleSignIn.DefaultInstance.SignIn().ContinueWith(OnGoogleAuthenticatedFinished);
      }
  
  
      void OnGoogleAuthenticatedFinished(Task&lt;GoogleSignInUser&gt; task)
      {
          if(task.IsFaulted)
          {
              Debug.LogError(&quot;Fault&quot;);
          }
          else if(task.IsCanceled)
          {
              Debug.LogError(&quot;Login Cancel&quot;);
          }
          else
          {
              Firebase.Auth.Credential credential = Firebase.Auth.GoogleAuthProvider.GetCredential(task.Result.IdToken, null);
  
              auth.SignInWithCredentialAsync(credential).ContinueWithOnMainThread(task =&gt;
              {
  
                  if (task.IsCanceled)
                  {
                      DebugLogError(&quot;SignInWithCredentialAsync was canceled.&quot;);
                      return;
                  }
                  if (task.IsFaulted)
                  {
                      DebugLogError(&quot;SignInWithCredentialAsync encountered an error: &quot; + task.Exception);
                      return;
                  }
  
  
                  user = auth.CurrentUser;
  
  
                  UsernameTxt.text=user.DisplayName;
                  UserEmailTxt.text=user.Email;
  
                  LoginScreen.SetActive(false);
                  ProfileScreen.SetActive(true);
  
                  StartCoroutine(LoadImage(CheckImageUrl(user.PhotoUrl.ToString())));
              });
  
          }
      }
  
      private string CheckImageUrl(string url)
      {
          if(!string.IsNullOrEmpty(url))
          {
              return url;
          }
  
  
          return imageUrl;
      }
  
      IEnumerator LoadImage(string imageUri)
      {
  
  
          WWW www = new WWW(imageUri);
          yield return www;
  
  
          UserProfilePic.sprite = Sprite.Create(www.texture, new Rect(0, 0, www.texture.width, www.texture.height), new Vector2(0, 0));
      }
  
  }
  </code></pre>