AvatarEditorService
AvatarEditorService is a service to support developer Avatar Editors. It provides methods to modify the player's platform avatar, request information about a user's inventory, and request information about the catalog.
For more information regarding the Avatar Editor, see Avatar Editor Service.
Throttling
The following endpoints on AvatarEditorService have experience-level throttling:
For each experience, this throttling allows you to send up to 100 requests per second to these AvatarEditorService endpoints, regardless of the number of servers or user count. Exceeding these limits returns a 429 Too Many Requests error.
If you find that your experience requires an adjustment to this throttling, you can submit a feature request.
概要
方法
Prompts the Players.LocalPlayer to allow the developer to read what items the user has in their inventory and other avatar editor related information.
Prompts the Players.LocalPlayer to save the given HumanoidDescription as an outfit.
Prompts the Players.LocalPlayer to delete the given outfit.
Prompts the Players.LocalPlayer to rename the given outfit.
Prompts the Players.LocalPlayer to update their avatar based on the given HumanoidDescription and Enum.RigType of R6 or R15.
Prompts the Players.LocalPlayer to favorite or unfavorite the given asset or bundle.
- PromptUpdateOutfit(outfitId : number,updatedOutfit : HumanoidDescription,rigType : Enum.HumanoidRigType):void
Prompts the Players.LocalPlayer to update the given outfit.
Used to apply default clothing to the HumanoidDescription if necessary.
Returns the platform Avatar rules for things such as scaling, default shirts and pants, number of wearable assets.
Gets the item details for a list of items at once.
Returns if the Players.LocalPlayer has favorited the given bundle or asset.
Returns an InventoryPages object with information about owned items in the users inventory with the given AvatarAssetTypes.
Returns the item details for the given item.
Returns the outfit details for the given outfit.
Returns outfit data for the Players.LocalPlayer.
Returns a list of recommended assets based on a given Enum.AssetType and asset id.
Returns a list of recommended bundles for a given bundle id.
Returns a CatalogPages object containing the result of the given search.
イベント
Fires when the AvatarEditorService:PromptAllowInventoryReadAccess() prompt is responded to by the user.
Fires when the PromptSaveOutfit operation is completed.
Fires when the PromptDeleteOutfit operation is completed.
Fires when the PromptRenameOutfit operation is completed.
- PromptSaveAvatarCompleted(result : Enum.AvatarPromptResult,humanoidDescription : HumanoidDescription):RBXScriptSignal
Fires when the AvatarEditorService:PromptSaveAvatar() operation is completed.
Fires when the AvatarEditorService:PromptSetFavorite() operation is completed.
Fires when the AvatarEditorService:PromptUpdateOutfit() operation is completed.
プロパティ
方法
PromptAllowInventoryReadAccess
Prompts the Players.LocalPlayer to allow the developer to read what items the user has in their inventory and other avatar editor related information. The prompt needs to be confirmed by the user for the developer to use AvatarEditorService:GetInventory(), AvatarEditorService:GetOutfits() and AvatarEditorService:GetFavorite(). Permission does not persist between sessions.
戻り値
PromptCreateOutfit
Prompts the Players.LocalPlayer to save the given HumanoidDescription as an outfit. Does not yield. The result can be retrieved by listening to the AvatarEditorService.PromptCreateOutfitCompleted event.
パラメータ
The Outfit that the player will be prompted to created.
The Enum.RigType that the outfit will be created for if the player confirms the prompt.
戻り値
PromptDeleteOutfit
Prompts the Players.LocalPlayer to delete the given outfit. Does not yield. The result can be retrieved by listening to the AvatarEditorService.PromptDeleteOutfitCompleted event.
パラメータ
The outfitId of the outfit to delete.
戻り値
PromptRenameOutfit
Prompts the Players.LocalPlayer to rename the given outfit. Does not yield. The result can be retrieved by listening to the AvatarEditorService.PromptRenameOutfitCompleted event.
パラメータ
The outfitId of the outfit to rename.
戻り値
PromptSaveAvatar
This function prompts the Players.LocalPlayer to update their avatar based on the given HumanoidDescription and Enum.RigType (R6 or R15). Does not yield and can get the result by listening to the PromptSaveAvatarCompleted event. This is similar to how other prompts such as PromptPurchase work.
パラメータ
The given HumanoidDescription being prompted to save.
The Enum.RigType that the avatar will be saved for if the player confirms the prompt.
戻り値
PromptSetFavorite
This function prompts the Players.LocalPlayer to favorite or unfavorite the given asset or bundle.
パラメータ
The ItemId of the item being prompted to favorite.
The type of item being prompted to favorite.
戻り値
PromptUpdateOutfit
Prompts the Players.LocalPlayer to update the given outfit with the given HumanoidDescription.
パラメータ
The outfitId of the outfit to update.
A HumanoidDescription that represents the new outfit data.
The HumanoidRigType to update the outfit to.
戻り値
CheckApplyDefaultClothing
Returns a new HumanoidDescription with the Shirt and Pants properties updated if necessary. Returns nil if default clothing was not needed.
Default clothing is necessary if the HumanoidDescription does not currently have Shirt and Pants equipped and the body colors are too similar.
パラメータ
The HumanoidDescription to check if default clothing is required.
戻り値
Returns a HumanoidDescription if default clothing was necessary. Otherwise returns nil.
ConformToAvatarRules
パラメータ
戻り値
GetAvatarRules
This function returns the platform Avatar rules for things like scaling, default shirts and pants, number of wearable assets, ect.
The returned table includes the following fields:
{"PlayerAvatarTypes": ["R6"],"Scales": {},"WearableAssetTypes": [{"MaxNumber": 0,"Id": 0,"Name": "string"}],"BodyColorsPalette": [{"BrickColorId": 0,"NexColor": "string","Name": "string"}],"BasicBodyColorsPalette": [{"BrickColorId": 0,"HexColor": "string","Name": "string"}],"MinimumDeltaEBodyColorDifference": 0,"ProportionsAndBodyTypeEnabledForUser": true,"DefaultClothingAssetLists": {"DefaultShirtAssetIds": [0],"DefaultPantAssetIds": [0]},"BundlesEnabledForUser": true,"EmotesEnabledForUser": true}
戻り値
A dictionary containing the platform Avatar rules for things like scaling, default shirts and pants, number of wearable assets, ect. See the example return in the main description above.
GetBatchItemDetails
Gets the item details for a list of items at once. More efficient than AvatarEditorService:GetItemDetails if you need to get all the item details of a list.
パラメータ
The list of item ids to get details of.
The type of the item ids provided.
戻り値
Returns an array of item details with the following fields:
{"AssetType" = "string","CreatorName" = "string","CreatorTargetId" = 0,"CreatorType" = "string","Description" = "string","FavoriteCount" = 0,"Genres" = ["All"],"Id" = 0,"ItemRestrictions" = ["Limited"],"ItemStatus": ["New"],"ItemType" = "string","LowestPrice" = 0,"Name" = "string","Price" = 0,"ProductId" = 0}
.
GetFavorite
This function returns if the Players.LocalPlayer has favorited the given bundle or asset.
パラメータ
The id of the specified asset or bundle.
The Enum.AvatarItemType of the specified asset or bundle.
戻り値
Whether the LocalPlayer has favorited the given bundle or asset.
GetInventory
Returns an InventoryPages object with information about owned items in the users inventory with the given AvatarAssetTypes.
The returned table includes the following fields:
[{"AssetId": 0,"AssetType" : "string","Created": "string","Name": "string",}]
パラメータ
The Enum.AvatarAssetType that can will be checked for in the player's inventory.
戻り値
GetItemDetails
This function returns the item details for the given item. It accepts two parameters - the first indicating the ID of the item being retrieved and the second indicating its Enum.ItemType.
Data returned in the format:
{"IsForRent": true,"ExpectedSellerId": 0,"Owned": true,"IsPurchasable": true,"Id": 0,"ItemType": "Asset","AssetType": "Image","BundleType": "BodyParts","Name": "string","Description": "string","ProductId": 0,"Genres": ["All"],"BundledItems": [{"Owned": true,"Id": 0,"Name": "string","Type": "string"}],"ItemStatus": ["New"],"ItemRestrictions": ["ThirteenPlus"],"CreatorType": "User","CreatorTargetId": 0,"CreatorName": "string","Price": 0,"PremiumPricing": {"PremiumDiscountPercentage": 0,"PremiumPriceInRobux": 0},"LowestPrice": 0,"PriceStatus": "string","UnitsAvailableForConsumption": 0,"PurchaseCount": 0,"FavoriteCount": 0}
To query for limited or unlimited assets, use the following
itemRestrictions values:
itemRestrictions | Limited or Unlimited |
---|---|
empty | Unlimited |
Collectible | UGC Limited |
Limited | Roblox Limited |
LimitedUnique | Roblox Limited Unique |
パラメータ
The ID of the item whose details are being retrieved.
An enum value indicating the type of item whose details are being retrieved.
戻り値
A table containing the item info for the retrieved item. See above for a sample table.
GetOutfitDetails
This function returns the outfit details for the given outfit. It accepts one parameter: the ID of the outfit.
Data returns in the following format:
{"Assets": [{"AssetType": {"Id": 31,"Name": "RightLeg"}"CurrentVersionId": 16447385805,"Id": 11584239464,"Name": "Anime Female - Right Leg"}],"BodyColors": {"HeadColor": Color3(204, 142, 105),"LeftArmColor": Color3(204, 142, 105),"LeftLegColor": Color3(204, 142, 105),"RightArmColor": Color3(204, 142, 105),"RightLegColor": Color3(204, 142, 105),"TorsoColor": Color3(204, 142, 105)},"Id": 14703770624,"IsEditable": true,"ModerationStatus": Enum.ModerationStatus.ReviewedApproved,"Name": "Your Costume","OutfitType": "Avatar","PlayerAvatarType": "R15","Scale": {"BodyType": 0,"Depth": 1,"Head": 1,"Height": 1,"Proportion": 0,"Width": 1},}
パラメータ
The ID of the outfit whose details are being retrieved.
戻り値
A table containing the outfit info for the retrieved outfit. See above for a sample table.
GetOutfits
This function returns outfit data for the Players.LocalPlayer. This would be used with Players:GetHumanoidDescriptionFromOutfitId() to update the players character to the outfit. Access to this would also depend on AvatarEditorService:PromptAllowInventoryReadAccess() being accepted by the user.
The returned table includes the following fields:
[{"Id": 0,"Name": "string","IsEditable": true}]
Name | type | Description |
---|---|---|
id | int | |
name | string | |
isEditable | boolean |
パラメータ
戻り値
GetRecommendedAssets
Returns a list of recommended assets based on a given Enum.AssetType and asset id. Use this to gather a list of similar assets to the asset provided. Take a look at the code sample below for more information on possible usages for this function.
Data is in the format:
[{"Item": {"AssetId": 0,"Name": "string","Price": 0,"PremiumPrice": 0,},"Creator": {"CreatorId": 0,"CreatorType": "string","Name": "string",},"Product": {"Id": 0,"PriceInRobux": 0,"IsForSale": true,"IsResellable": true,"IsLimited": true,"IsLimitedUnique": true,"TotalPrivateSales": 0,"OffsaleDeadline": "string","IsFree": true}}]
パラメータ
The type of asset recommendations to retrieve recommendations for. Only affects the response when item based recommendations don't exist for the given contextAssetId.
The id of an asset with a type matching the provided assetType used for context when retrieving recommendations.
戻り値
A list of recommendations based on the given Enum.AssetType.
コードサンプル
local AvatarEditorService = game:GetService("AvatarEditorService")
local assets = AvatarEditorService:GetRecommendedAssets(Enum.AvatarAssetType.Hat, 9255093)
for _, asset in ipairs(assets) do
print(asset.Item.Name)
end
GetRecommendedBundles
This function returns a list of recommended bundles for a given bundle id.
Data is in the format:
[{"Id": 0,"Name": "string","Description": "string","BundleType": "string","Items": [{"Owned": true,"Id": 0,"Name": "string","Type": "string"}],"Creator": {"Id": 0,"Name": "string","Type": "string"},"Product": {"Id": 0,"Type": "string","IsPublicDomain": true,"IsForSale": true,"PriceInRobux": 0,"PremiumPricing": {"PremiumDiscountPercentage": 0,"PremiumPriceInRobux": 0}}}]
パラメータ
A list of recommended bundles.
戻り値
The bundle ID that the recommended bundles will be returned for.
SearchCatalog
This function returns a CatalogPages object containing the result of the given search.
The returned data has the format:
[{"Id": 0,"ItemType": "Asset","AssetType": "Image","BundleType": "BodyParts","Name": "string","Description": "string","ProductId": 0,"Genres": ["All"],"BundledItems": [{"Owned": true,"Id": 0,"Name": "string","Type": "string"}],"ItemStatus": ["New"],"ItemRestrictions": ["ThirteenPlus"],"CreatorType": "User","CreatorTargetId": 0,"CreatorName": "string","Price": 0,"PremiumPricing": {"PremiumDiscountPercentage": 0,"PremiumPriceInRobux": 0},"LowestPrice": 0,"PriceStatus": "string","UnitsAvailableForConsumption": 0,"PurchaseCount": 0,"FavoriteCount": 0}]
パラメータ
An object containing the parameters used for the search.
戻り値
イベント
PromptAllowInventoryReadAccessCompleted
This event fires when the AvatarEditorService:PromptAllowInventoryReadAccess() prompt is responded to by the user. It can only return the Success or PermissionDenied enum statuses as it does not perform any web requests which could fail.
パラメータ
The result of the prompt.
PromptCreateOutfitCompleted
This event fires when the PromptSaveOutfit operation is completed. It gives a status enum indicating whether the prompt succeeded, failed or permission was not granted by the user.
パラメータ
The result of the prompt.
PromptDeleteOutfitCompleted
Fires when the PromptDeleteOutfit operation is completed. It gives a status enum indicating whether the prompt succeeded, failed or permission was not granted by the user.
パラメータ
The result of the prompt.
PromptRenameOutfitCompleted
Fires when the PromptRenameOutfit operation is completed. It gives a status enum indicating whether the prompt succeeded, failed or permission was not granted by the user.
パラメータ
The result of the prompt.
PromptSaveAvatarCompleted
This event fires when the AvatarEditorService:PromptSaveAvatar() operation is completed. It gives a status enum indicating whether the prompt succeeded, failed or permission was not granted by the user.
パラメータ
The result of the prompt.
PromptSetFavoriteCompleted
Fires when the AvatarEditorService:PromptSetFavorite() operation is completed. It gives a status enum indicating whether the prompt succeeded, failed or permission was not granted by the user.
パラメータ
The result of the prompt.
PromptUpdateOutfitCompleted
Fires when the AvatarEditorService:PromptUpdateOutfit() operation is completed. It gives a status enum indicating whether the prompt succeeded, failed or permission was not granted by the user.
パラメータ
The result of the prompt.