// 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");
            }
        });
    }