Hi
We are generating automatic display names on the client from a large pool of possible names. The user can choose to generate a new name until they find one they like. Ideally we would like to only show names to the player that have not already been taken.
To do this, I would need to generate a name on the client, check if it has been taken on the server and if it is already taken, generate and check again until a unique name is found, we then offer that name to the user, but they are of course free to reject that name and kick off the generation process again as many times as they like. This could mean we need to make quite a few calls to the API in quick succession and the risk of collisions increases as our player base increases. We would still need to handle the case of a collision occuring due to the time between calls.
For each generation process, I would expect a unique name to be found on the first try or very soon after, but just in case, I want to handle any limits to ensure our game is not throttled or billed excessively.
I plan to check if a name is taken via GetAccountInfo (providing the display name) rather than using the error codes of UpdateTitleUserDisplayName as players can enter a flow to change their name but then decide to cancel it before committing to the change, I would not wnat the player to lose their current name in this case.
Any info you can provide on this and connected APIs or insights in to ow best to design a system like this would be appreciated.
All the best,
Niall