We just had an Enum added named ThumbnailType with the following options:
HeadShot
AvatarBust
AvatarThumbnail
The enum is not named AvatarThumbnailType, so it’s possible that it can (and hopefully will) be extended to other thumbnail types in the future:
Asset (models, plugins, etc) icons
Place icons
Place thumbnails
Group icon
Already provided through GetGroupInfoAsync, but may be added for completeness to generic method for getting all thumbnails
Potential types of future thumbnails
In which case HeadShot wouldn’t be immediately and obviously related to avatars. In light of this, HeadShot should be renamed to AvatarHeadShot.
Further room for improvement would be with the AvatarThumbnail enum item. The enum is already named ThumbnailType, so AvatarThumbnail is redundant and also ambiguous – “AvatarFull” may be more appropriate.
If we’re going to change these, it should be done before they take off and it’s no longer possible to change them.
I added this API and I don’t think this is a necessary change to make. If we add more EnumItems to the ThumbnailType enum there will be a different API for using these EnumItems, for example AssetService.GetItemThumbnail which wouldn’t support the current EnumItems. Enum.ThumbnailType.HeadShot seems clear enough to me when it is being used with the GetUserThumbnailAsync API. AvatarHeadShot might be a slightly better name but it doesn’t seem like a strong enough reason to change this after the API is already on production.
The bool is “isFinal”, one of the main motivations in making this API was to make it so developers never have to display N/A thumbnails in their games. If you hit the API and the thumbnail you are asking for doesn’t already exist it will cause the thumbnail to be generated and return false for the second return value indicating that the thumbnail is not final. Then as a developer you can poll the API until the isFinal boolean is true before displaying the image. No more N/A thumbnails
Unfortunately this only applies to in-game thumbnails
When the API ships we will change the CoreScripts to use it for avatar thumbnails to avoid N/As and developers can use it for any custom leaderboards, player profiles ect.