Why does passing through the AuthInterface.Login access token to the ConnectInterface.Login causes a hard crash [C# .Net EOS SDK]

The question covers it all.

I’m starting to go insane with this thing.

I don’t know why but its just outright crashing the application with no error log to explain it, I login with the account portal, I get the online x friends popup in the top right corner but the moment I try to ConnectLogin after it just crashes

But here’s my code.

public void Login_Persistent()

{

  Login(LoginCredentialType.PersistentAuth);

}



public void Login_AccountPortal()

{

  Login(LoginCredentialType.AccountPortal);

}



public void Login(LoginCredentialType credentialsType)

{

  var auth = _platformInterface.GetAuthInterface();



  var loginOptions = new Epic.OnlineServices.Auth.LoginOptions

  {

    Credentials = new Epic.OnlineServices.Auth.Credentials

    {

      Type = credentialsType

    },

    ScopeFlags = AuthScopeFlags.BasicProfile | AuthScopeFlags.FriendsList

  };



  auth.Login(loginOptions, null, loginResult =>

  {

    if (loginResult.ResultCode == Epic.OnlineServices.Result.Success)

    {

      DebugConsole.Log($"[EOSManager] Epic login successful. EpicAccountId = {loginResult.LocalUserId}");



      auth.CopyUserAuthToken(

        new CopyUserAuthTokenOptions(),

        loginResult.LocalUserId,

        out var token

      );



      _epicAccountId = loginResult.LocalUserId;

      this.token = token;

      HandleAuthLoginSuccess(loginResult.ContinuanceToken);

    }

    else

    {

      DebugConsole.LogError($"[EOSManager] Epic login failed: {loginResult.ResultCode}");

      if(credentialsType == LoginCredentialType.PersistentAuth)

      {

        Login_AccountPortal();

      }

    }

  });

}



public void HandleAuthLoginSuccess(ContinuanceToken continueanceToken)

{

  var connect = _platformInterface.GetConnectInterface();



  if (continueanceToken != null)

  {

    CreateUser(connect, continueanceToken);

  }

  else

  {

    ConnectLogin(connect);

  }

}



private void CreateUser(ConnectInterface connect, ContinuanceToken continuanceToken)

{

  var linkOptions = new CreateUserOptions

  {

    ContinuanceToken = continuanceToken

  };



  connect.CreateUser(linkOptions, null, linkResult =>

  {

    if (linkResult.ResultCode == Epic.OnlineServices.Result.Success)

    {

      _localUserId = linkResult.LocalUserId;

      _initialized = true;

      OnLoginSuccessful?.Invoke();

      DebugConsole.Log($"[EOSManager] Created new EOS user. ProductUserId = {_localUserId}");

    }

    else

    {

      DebugConsole.LogError($"[EOSManager] CreateUser failed: {linkResult.ResultCode}");

    }

  });

}



 private void ConnectLogin(ConnectInterface connect)

 {

   if(string.IsNullOrEmpty(this.token.AccessToken))

   {

     DebugConsole.LogError("Failed to connect login! Access token is invalid!");

     return;

   }



   var connectLoginOptions = new Epic.OnlineServices.Connect.LoginOptions

   {

     Credentials = new Epic.OnlineServices.Connect.Credentials

     {

       Type = Epic.OnlineServices.Connect.ExternalCredentialType.Epic,

       Token = token.AccessToken

     }

   };



   try

   {

     connect.Login(connectLoginOptions, null, connectLoginResult =>

     {

       DebugConsole.Log($"[EOSManager] Connect.Login callback received. Result = {connectLoginResult.ResultCode}");

       if (connectLoginResult.ResultCode == Epic.OnlineServices.Result.Success ||

       connectLoginResult.ResultCode == Epic.OnlineServices.Result.AlreadyConfigured)

       {

         _localUserId = connectLoginResult.LocalUserId;

         _initialized = true;

         OnLoginSuccessful?.Invoke();

         DebugConsole.Log($"[EOSManager] Connected existing EOS user. ProductUserId = {_localUserId}");

       }

       else if (connectLoginResult.ResultCode == Epic.OnlineServices.Result.InvalidUser)

       {

         DebugConsole.LogWarning("[EOSManager] Connect.Login returned InvalidUser — need to create a new one.");

         CreateUser(connect, connectLoginResult.ContinuanceToken);

       }

       else

       {

         DebugConsole.LogError($"[EOSManager] Connect.Login failed: {connectLoginResult.ResultCode}");

       }

     });

   } catch(Exception ex)

   {

     DebugConsole.LogError($"[EOSManager] Failed to connect login: {ex}");

   }

 }