I'm creating a WebGL application using Unity written in C#.
I have a function that logs the user in based on an authentication token (allowing the user to skip the login screen if they've signed in previously and have a cookie).
The application works flawlessly in the Unity environment when I hit the play button. However, when I build the application and run it locally in my browser I get a "System.SystemException: Thread creation failed." error in my console log. This error seems to occur right after the user is logged in. My login function is:
public void loginWithAccessIDToken(string accessIDToken, Action<KiiUser> success)
{
//Use the access token to sign-in again
try
{
Debug.Log("About to log in...");
KiiUser.LoginWithToken(accessIDToken, (KiiUser user, Exception e) =>
{
UnityEngine.Debug.Log("Got Something!");
if (e != null)
{
User = null;
success(User);
UnityEngine.Debug.Log("Exception caught...");
}
else
{
User = user;
success(User);
UnityEngine.Debug.Log("Login successful...");
}
});
}
catch (Exception e)
{
Debug.Log("Exception caught..." + e.Message);
success(User);
}
}
I have also attached a screenshot of the error I receive in Firefox below. It seems to me that Kii is doing some sort of threading. I've read online that WebGL does not support threading.. however, I do not have a good understanding of what Kii is attempting to do!
Does anyone have experience implementing this logic in their application? I'm able to keep my application running if I have exceptions enabled in the Unity build settings. Although, this is surely not a permanent solution!
If anyone has any suggestions or would like more information about my build settings please ask.