// Sign in to Firebase private void SignInFirebase(Credential credential) { auth = FirebaseAuth.DefaultInstance; // Sign in to Firebase Authentication using credentials from providers auth.SignInWithCredentialAsync(credential).ContinueWith(task => { if (task.IsCanceled) { Debug.LogError("SignInWithCredentialAsync was canceled."); return; } if (task.IsFaulted) { Debug.LogError("SignInWithCredentialAsync encountered an error: " + task.Exception); return; } user = task.Result; Debug.LogFormat("User signed in successfully: {0} ({1})", user.DisplayName, user.UserId); // Check if user has registered before bool registered = FirebaseHandler.CheckIfUserIsRegistered().Result; // Registered user if (registered) { Debug.Log("User has registered, proceed to home screen"); SceneManager.LoadSceneAsync("Persistent"); } // New user else { Debug.Log("User has not registered, proceed to username and character selection"); FirebaseHandler.CreateNewUser(user.UserId); SceneManager.LoadSceneAsync("InputUsernameScreen"); } }); }