We're currently using Playfab for online functionality between Win10 store and Xbox. As such we are logging into Playfan using an Xbox token. Once logged in we set the users display name to the Xbox gamertag name to allow us to get the name of the players we join since we've not found a way to do this through the Microsoft GDK.
Our problem is that when a player logs in on PC and then on Xbox it seems to create separate Playfab 'Master player accounts' for them both with the same linked xbox live account. This means when we try to set the display name we get an error because the name is no longer unique and has been taken by the other master player from the PC sotre login.
Should our solution be to enable non-unique usernames in the Playfab title settings or is there a better way for us to handle this scenario?
For reference our login properties are:
var request = new PlayFab.ClientModels.LoginWithXboxRequest();
request.CreateAccount = true;
request.XboxToken = XboxToken;
request.InfoRequestParameters = new PlayFab.ClientModels.GetPlayerCombinedInfoRequestParams();
request.InfoRequestParameters.GetPlayerProfile = true;
request.TitleId = titleID;
PlayFab.PlayFabClientAPI.LoginWithXbox(request, OnPlayfabLogin, OnPlayfabFailed);
If we are using the display name correctly but are not to enable non-unique usernames how should we handle the situation where a user changes their gamer tag and another user takes their old freed gamer tag? If they try to play before the original user updates their display name it will flag as not unique.