Hi there!
I was just looking at the documentation for Universal Windows Platform (UWP) apps and oof yes it does seem like it is incompatible with the web based Unity Player Account Login flow and there isn't any way around that as UWP apps can't use IP loopback address to bind to a port that other apps can connection to.
i.e. meaning a web browser can't call back to the app once the user has signed in
I think you could probably solve for this by:
- Signing in the user Anonymously.
- Using
AuthenticationService.Instance.LinkWithUnityAsync()to Link acounts, rather than using Sign In. - Use a **Cloud Code **function that runs when a Signed In event is fired and when it gets one sends a Push Message to the game client using the Player ID from the Sign In event, which the game client is configured to listen for.
Obviously this requires more work than something like signing in Anonymously and using Username and Password, and you would need to handle logic for accounts where a player had already linked an account (which might be non-trivial).
It would obviously better if this was handled automatically in a way that was compatible with UWP. We are looking at improving Unity Gaming Services event handling in the future, which would both simply this and allow us to change how the web based Unity Player Account Login works to address this issue, by using sockets rather than relying on a IP loopback to bind to a port.