We're finding that players' Steam display names are cached and not updated when they update them on Steam (even after restarting Steam & re-logging in to our game).
We log them in with Steam like so:
LoginWithSteamRequest loginWithSteamRequest = new LoginWithSteamRequest {CreateAccount = true, SteamTicket = _steamTicket}; PlayFabClientAPI.LoginWithSteam(loginWithSteamRequest, PlayFabLoginSuccess, PlayFabLoginFail);
Our server gets their username from their player profile like so (as per the thread Best practice - steam account names):
PlayerProfileViewConstraints playerProfileViewConstraints = new PlayerProfileViewConstraints {ShowLinkedAccounts = true}; GetPlayerProfileRequest getPlayerProfileRequest = new GetPlayerProfileRequest { PlayFabId = playFabID, ProfileConstraints = playerProfileViewConstraints }; PlayFabServerAPI.GetPlayerProfile(getPlayerProfileRequest, (result) => onGetPlayerProfileSuccess(result, playFabID, connectionID), onPlayFabErrorCallback);
An example QA test account which had a Steam display name change which isn't reflected in their linked account info after Steam/game restart (QA test account owner confirmed permission to post here):
- Display name change: VastFluorescence -> Vast (can confirm name change here)
- Title: E79E, Game-specific ID: 8737EC2BAE438D81, Studio-wide ID: A5C335E978A9C264, Steam ID: 76561197972454469
Is there any method to update / refresh this username lookup? Should we e.g. un-link and then re-link player's Steam identity each time they load the game? (& would doing so require a delay between API calls?)