In the API doc, the AddUsernamePassword marks both username and email as required. This is not something I consider good user experience as both fields are required to be unique, but I can work around that by generating a random username and let the user fill in the email.
But, I noticed that RegisterPlayFabUser allowed me to either specify username OR email, which is inconsistent with AddUsernamePassword.
And then there is LoginWithEmailAddress which user can sign in with email, but no Login APIs with username seem to exist. Eh??
Links to the mentioned API: