AvatarEditorService¶
A service to support developer Avatar Editors.
Not implemented yet
This class exists in the current Roblox API but is not implemented in Nova yet. Scripts that reference it will fail at runtime.
Description¶
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:
- AvatarEditorService.GetItemDetailsAsync
- AvatarEditorService.GetBatchItemDetailsAsync
- AvatarEditorService.GetRecommendedAssetsAsync
- AvatarEditorService.GetRecommendedBundlesAsync
- AvatarEditorService.SearchCatalogAsync
- AvatarEditorService.PromptSetFavorite
- AvatarEditorService.GetFavoriteAsync
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.
Item Details Response¶
The following methods return item data in a shared response format:
- AvatarEditorService.GetItemDetailsAsync()
- AvatarEditorService.GetBatchItemDetailsAsync()
- AvatarEditorService.GetBundlesByAssetIdAsync()
- AvatarEditorService.SearchCatalogAsync()
{
"Id": 0,
"ItemType": "Asset",
"AssetType": "Image",
"BundleType": "BodyParts",
"Name": "string",
"Description": "string",
"ProductId": 0,
"ItemStatus": ["New"],
"ItemRestrictions": ["Collectible"],
"BundledItems": [
{
"Id": 0,
"Name": "string",
"Type": "Asset",
"AssetType": "string",
"SupportsHeadShapes": false,
"Owned": false
}
],
"IsRecolorable": false,
"CollectibleItemId": "string",
"TotalQuantity": 0,
"UnitsAvailableForConsumption": 0,
"QuantityLimitPerUser": 0,
"HasResellers": false,
"OffSaleDeadline": null,
"Price": 0,
"PremiumPricing": {
"PremiumDiscountPercentage": 0,
"PremiumPriceInRobux": 0
},
"LowestPrice": 0,
"LowestResalePrice": 0,
"PriceStatus": "string",
"SaleLocationType": "ShopAndAllExperiences",
"PurchaseCount": 0,
"FavoriteCount": 0,
"CreatorType": "User",
"CreatorTargetId": 0,
"CreatorName": "string",
"CreatorHasVerifiedBadge": false,
"SupportsHeadShapes": false,
"TimedOptions": [
{ "Duration": 259200, "Price": 30 },
{ "Duration": 604800, "Price": 40 },
{ "Duration": 1209600, "Price": 50 }
]
}
Basic Information¶
| Field | Type | Description |
|---|---|---|
Id |
number | The unique identifier of the item. |
ItemType |
string | The type of item: "Asset" or "Bundle". Corresponds to Enum.AvatarItemType. |
AssetType |
string | The asset type. Corresponds to Enum.AvatarAssetType values (e.g., "Hat", "Shirt"). Only present if ItemType is "Asset". |
SupportsHeadShapes |
boolean | Whether the asset supports head shape swapping. Only present if AssetType is "DynamicHead". |
BundleType |
string | The bundle type. Corresponds to Enum.BundleType values (e.g., "BodyParts", "Animations"). Only present if ItemType is "Bundle". |
Name |
string | The display name of the item. |
Description |
string | The item's description text. |
ProductId |
number | The product ID associated with this item. |
ItemStatus |
array | An array of status strings (e.g., "New", "Sale", "XboxExclusive", "AmazonExclusive"). |
ItemRestrictions |
array | An array of restriction strings. See the itemRestrictions table below. |
Bundle Information¶
| Field | Type | Description |
|---|---|---|
BundledItems |
array | An array of items contained in the bundle. Only present if ItemType is "Bundle". Each entry contains: |
Id: The unique identifier of the bundled item. |
||
Name: The display name of the bundled item. |
||
Type: The type of the bundled item (e.g., "Asset"). |
||
AssetType: The asset type as a string. Corresponds to Enum.AvatarAssetType values (e.g., "Hat", "DynamicHead"). |
||
SupportsHeadShapes: Whether the asset supports head shape swapping. Only present if AssetType is "DynamicHead". |
||
Owned: Whether the bundled item is owned by the current user. |
||
IsRecolorable |
boolean | Whether the bundle supports skin tone matching. Only applies to BodyParts and DynamicHead bundles. |
Collectible Information¶
| Field | Type | Description |
|---|---|---|
CollectibleItemId |
string | The unique item ID of the collectible. |
TotalQuantity |
number | The total quantity of the collectible available for purchase (not resale). |
UnitsAvailableForConsumption |
number | The number of units available for purchase. Only applies to Limited items with remaining stock. |
QuantityLimitPerUser |
number | Maximum number of the same collectible item a user can own. |
HasResellers |
boolean | true when item is a Limited collectible and there are copies available for resale. |
OffSaleDeadline |
string | The date/time when the item goes off sale. |
Pricing and Sale Information¶
| Field | Type | Description |
|---|---|---|
Price |
number | The price in Robux. 0 if free or not for sale. |
PremiumPricing |
table | Premium pricing information. Contains the following fields: |
PremiumDiscountPercentage: The discount percentage for Premium members. |
||
PremiumPriceInRobux: The discounted price in Robux for Premium members. |
||
LowestPrice |
number | The lowest resale price for Limited items. |
LowestResalePrice |
number | The lowest resale price for the collectible in Robux. |
PriceStatus |
string | The price status (e.g., "Free", "Off Sale", "No Resellers"). |
SaleLocationType |
string | The type of sale location setting. See SaleLocationType values below. |
PurchaseCount |
number | The total number of times this item has been purchased. |
FavoriteCount |
number | The total number of users who have favorited this item. |
Creator Information¶
| Field | Type | Description |
|---|---|---|
CreatorType |
string | Either User or Group. See Enum.CreatorType. |
CreatorTargetId |
number | The ID of the creator user or group. |
CreatorName |
string | The display name of the creator. |
CreatorHasVerifiedBadge |
boolean | Boolean of whether the creator has a verified badge. |
Timed Options Information¶
| Field | Type | Description |
|---|---|---|
TimedOptions |
array | Optional. An array of available timed options with durations and prices. Only present for assets that support timed ownership. Do not hardcode duration values; always retrieve them from the API as available options may change. Each entry contains: |
Duration: The duration in seconds (e.g. 259200 for 3 days, 604800 for 7 days). |
||
Price: The price in Robux for this duration. |
||
SaleLocationType Values¶
| Value | Description |
|---|---|
NotApplicable |
Default value, should not occur in practice. |
ShopOnly |
Item can only be purchased in the Roblox catalog shop. |
MyExperiencesOnly |
Item can only be purchased in the creator's experiences. |
ShopAndMyExperiences |
Item can be purchased in the Roblox catalog shop or the creator's experiences. |
ExperiencesById |
Item can only be purchased in a specific list of experiences. |
ShopAndAllExperiences |
Item can be purchased in the Roblox catalog shop and all experiences. |
ExperiencesDevApiOnly |
Item can only be purchased in experiences via developer APIs. |
ShopAndExperiencesById |
Item can be purchased in the Roblox catalog shop or a whitelisted list of experiences. |
itemRestrictions Values¶
| itemRestrictions | Limited or Unlimited |
|---|---|
empty |
Unlimited |
Collectible |
UGC Limited |
Limited |
Roblox Limited |
LimitedUnique |
Roblox Limited Unique |
Inheritance¶
Object → Instance → AvatarEditorService
Methods¶
| Member | Signature | Summary |
|---|---|---|
BustAvatarFetchCache |
AvatarEditorService:BustAvatarFetchCache(): null |
— |
CheckApplyDefaultClothing |
AvatarEditorService:CheckApplyDefaultClothing(humanoidDescription: HumanoidDescription): HumanoidDescription |
Used to apply default clothing to the HumanoidDescription if necessary. |
CheckApplyDefaultClothingAsync |
AvatarEditorService:CheckApplyDefaultClothingAsync(humanoidDescription: HumanoidDescription): HumanoidDescription |
Used to apply default clothing to the HumanoidDescription if necessary. |
ConformToAvatarRules |
AvatarEditorService:ConformToAvatarRules(humanoidDescription: HumanoidDescription): HumanoidDescription |
Deprecated. Returns a copy of the given HumanoidDescription that conforms to the platform Avatar rules. |
ConformToAvatarRulesAsync |
AvatarEditorService:ConformToAvatarRulesAsync(humanoidDescription: HumanoidDescription): HumanoidDescription |
Returns a copy of the given HumanoidDescription that conforms to the platform Avatar rules. |
GetAccessoryType |
AvatarEditorService:GetAccessoryType(avatarAssetType: AvatarAssetType): AccessoryType |
Returns the AccessoryType that corresponds to the given AvatarAssetType. |
GetAvatarRules |
AvatarEditorService:GetAvatarRules(): Dictionary |
Returns the platform Avatar rules for things such as scaling, default shirts and pants, number of wearable assets. |
GetAvatarRulesAsync |
AvatarEditorService:GetAvatarRulesAsync(): Dictionary |
Returns the platform Avatar rules for things such as scaling, default shirts and pants, number of wearable assets. |
GetBatchItemDetails |
AvatarEditorService:GetBatchItemDetails(itemIds: Array, itemType: AvatarItemType): Array |
Gets the item details for a list of items at once. |
GetBatchItemDetailsAsync |
AvatarEditorService:GetBatchItemDetailsAsync(itemIds: Array, itemType: AvatarItemType): Array |
Gets the item details for a list of items at once. |
GetBundlesByAssetIdAsync |
AvatarEditorService:GetBundlesByAssetIdAsync(assetId: int64, limit: int64 = 10): CatalogPages |
Returns a CatalogPages object containing bundles that include the given asset. |
GetFavorite |
AvatarEditorService:GetFavorite(itemId: int64, itemType: AvatarItemType): bool |
Returns if the Players.LocalPlayer has favorited the given bundle or asset. |
GetFavoriteAsync |
AvatarEditorService:GetFavoriteAsync(itemId: int64, itemType: AvatarItemType): bool |
Returns if the Players.LocalPlayer has favorited the given bundle or asset. |
GetHeadShapesAsync |
AvatarEditorService:GetHeadShapesAsync(): Array |
Returns an array of head shape names that the Players.LocalPlayer owns. |
GetInventory |
AvatarEditorService:GetInventory(assetTypes: Array): InventoryPages |
Returns an InventoryPages object with information about owned items in the users inventory with the given AvatarAssetTypes. |
GetInventoryAsync |
AvatarEditorService:GetInventoryAsync(assetTypes: Array): InventoryPages |
Returns an InventoryPages object with information about owned items in the users inventory with the given AvatarAssetTypes. |
GetItemDetails |
AvatarEditorService:GetItemDetails(itemId: int64, itemType: AvatarItemType): Dictionary |
Returns the item details for the given item. |
GetItemDetailsAsync |
AvatarEditorService:GetItemDetailsAsync(itemId: int64, itemType: AvatarItemType): Dictionary |
Returns the item details for the given item. |
GetOutfitDetails |
AvatarEditorService:GetOutfitDetails(outfitId: int64): Dictionary |
Returns the outfit details for the given outfit. |
GetOutfitDetailsAsync |
AvatarEditorService:GetOutfitDetailsAsync(outfitId: int64): Dictionary |
Returns the outfit details for the given outfit. |
GetOutfits |
AvatarEditorService:GetOutfits(outfitSource: OutfitSource = All, outfitType: OutfitType = All): OutfitPages |
Returns outfit data for the Players.LocalPlayer. |
GetOutfitsAsync |
AvatarEditorService:GetOutfitsAsync(outfitSource: OutfitSource = All, outfitType: OutfitType = All): OutfitPages |
Returns outfit data for the Players.LocalPlayer. |
GetRecommendedAssets |
AvatarEditorService:GetRecommendedAssets(assetType: AvatarAssetType, contextAssetId: int64 = 0): Array |
Returns a list of recommended assets based on a given AssetType and asset ID. |
GetRecommendedAssetsAsync |
AvatarEditorService:GetRecommendedAssetsAsync(assetType: AvatarAssetType, contextAssetId: int64 = 0): Array |
Returns a list of recommended assets based on a given AssetType and asset ID. |
GetRecommendedBundles |
AvatarEditorService:GetRecommendedBundles(bundleId: int64): Array |
Returns a list of recommended bundles for a given bundle id. |
GetRecommendedBundlesAsync |
AvatarEditorService:GetRecommendedBundlesAsync(bundleId: int64): Array |
Returns a list of recommended bundles for a given bundle id. |
NoPromptApplyProfileConfiguration |
AvatarEditorService:NoPromptApplyProfileConfiguration(profileConfiguration: Dictionary): bool |
— |
NoPromptCreateOutfit |
AvatarEditorService:NoPromptCreateOutfit(humanoidDescription: HumanoidDescription, rigType: HumanoidRigType, name: string, gearAssetId: int64 = 0, outfitOptions: Dictionary = nil, outfitType: Variant): bool |
— |
NoPromptDeleteOutfit |
AvatarEditorService:NoPromptDeleteOutfit(outfitId: int64): bool |
— |
NoPromptRenameOutfit |
AvatarEditorService:NoPromptRenameOutfit(outfitId: int64, name: string): bool |
— |
NoPromptSaveAvatar |
AvatarEditorService:NoPromptSaveAvatar(humanoidDescription: HumanoidDescription, rigType: HumanoidRigType, saveDict: Dictionary, gearAssetId: int64 = 0, profileConfiguration: Dictionary = nil): bool |
— |
NoPromptSaveAvatarThumbnailCustomization |
AvatarEditorService:NoPromptSaveAvatarThumbnailCustomization(thumbnailType: AvatarThumbnailCustomizationType, emoteAssetId: int64, cameraDistanceScale: float, yRotDeg: float, fieldOfViewDeg: float = 0): bool |
— |
NoPromptSetFavorite |
AvatarEditorService:NoPromptSetFavorite(itemId: int64, itemType: AvatarItemType, shouldFavorite: bool): bool |
— |
NoPromptUpdateOutfit |
AvatarEditorService:NoPromptUpdateOutfit(outfitId: int64, humanoidDescription: HumanoidDescription, rigType: HumanoidRigType, gearAssetId: int64 = 0, outfitOptions: Dictionary = nil): bool |
— |
PerformCreateOutfitWithDescription |
AvatarEditorService:PerformCreateOutfitWithDescription(humanoidDescription: HumanoidDescription, name: string, profileConfiguration: Dictionary = nil): null |
— |
PerformDeleteOutfit |
AvatarEditorService:PerformDeleteOutfit(): null |
— |
PerformRenameOutfit |
AvatarEditorService:PerformRenameOutfit(name: string): null |
— |
PerformSaveAvatarWithDescription |
AvatarEditorService:PerformSaveAvatarWithDescription(humanoidDescription: HumanoidDescription, addedAssets: Array, removedAssets: Array): null |
— |
PerformSetFavorite |
AvatarEditorService:PerformSetFavorite(): null |
— |
PerformUpdateOutfit |
AvatarEditorService:PerformUpdateOutfit(humanoidDescription: HumanoidDescription, profileConfiguration: Dictionary = nil): null |
— |
PromptAllowInventoryReadAccess |
AvatarEditorService:PromptAllowInventoryReadAccess(): null |
Prompts the Players.LocalPlayer to allow the developer to read what items the user has in their inventory and other avatar editor related infor… |
PromptCreateOutfit |
AvatarEditorService:PromptCreateOutfit(outfit: HumanoidDescription, rigType: HumanoidRigType, outfitOptions: Dictionary = nil, outfitType: Variant): null |
Prompts the Players.LocalPlayer to save the given HumanoidDescription as an outfit. |
PromptDeleteOutfit |
AvatarEditorService:PromptDeleteOutfit(outfitId: int64): null |
Prompts the Players.LocalPlayer to delete the given outfit. |
PromptRenameOutfit |
AvatarEditorService:PromptRenameOutfit(outfitId: int64): null |
Prompts the Players.LocalPlayer to rename the given outfit. |
PromptSaveAvatar |
AvatarEditorService:PromptSaveAvatar(humanoidDescription: HumanoidDescription, rigType: HumanoidRigType): null |
Prompts the Players.LocalPlayer to update their avatar based on the given HumanoidDescription and [HumanoidRigType](.… |
PromptSetFavorite |
AvatarEditorService:PromptSetFavorite(itemId: int64, itemType: AvatarItemType, shouldFavorite: bool): null |
Prompts the Players.LocalPlayer to favorite or unfavorite the given asset or bundle. |
PromptUpdateOutfit |
AvatarEditorService:PromptUpdateOutfit(outfitId: int64, updatedOutfit: HumanoidDescription, rigType: HumanoidRigType): null |
Prompts the Players.LocalPlayer to update the given outfit. |
refreshAvatarThumbnails |
AvatarEditorService:refreshAvatarThumbnails(thumbnailTypes: Array): null |
— |
SearchCatalog |
AvatarEditorService:SearchCatalog(searchParameters: CatalogSearchParams): CatalogPages |
Returns a CatalogPages object containing the result of the given search. |
SearchCatalogAsync |
AvatarEditorService:SearchCatalogAsync(searchParameters: CatalogSearchParams): CatalogPages |
Returns a CatalogPages object containing the result of the given search. |
SetAllowInventoryReadAccess |
AvatarEditorService:SetAllowInventoryReadAccess(inventoryReadAccessGranted: bool): null |
— |
SignalCreateOutfitFailed |
AvatarEditorService:SignalCreateOutfitFailed(): null |
— |
SignalCreateOutfitPermissionDenied |
AvatarEditorService:SignalCreateOutfitPermissionDenied(): null |
— |
SignalDeleteOutfitFailed |
AvatarEditorService:SignalDeleteOutfitFailed(): null |
— |
SignalDeleteOutfitPermissionDenied |
AvatarEditorService:SignalDeleteOutfitPermissionDenied(): null |
— |
SignalRenameOutfitFailed |
AvatarEditorService:SignalRenameOutfitFailed(): null |
— |
SignalRenameOutfitPermissionDenied |
AvatarEditorService:SignalRenameOutfitPermissionDenied(): null |
— |
SignalSaveAvatarFailed |
AvatarEditorService:SignalSaveAvatarFailed(): null |
— |
SignalSaveAvatarPermissionDenied |
AvatarEditorService:SignalSaveAvatarPermissionDenied(): null |
— |
SignalSetFavoriteFailed |
AvatarEditorService:SignalSetFavoriteFailed(): null |
— |
SignalSetFavoritePermissionDenied |
AvatarEditorService:SignalSetFavoritePermissionDenied(): null |
— |
SignalUpdateOutfitFailed |
AvatarEditorService:SignalUpdateOutfitFailed(): null |
— |
SignalUpdateOutfitPermissionDenied |
AvatarEditorService:SignalUpdateOutfitPermissionDenied(): null |
— |
Events¶
| Member | Signature | Summary |
|---|---|---|
NotifyBustAvatarFetchCache |
NotifyBustAvatarFetchCache() |
— |
OpenAllowInventoryReadAccess |
OpenAllowInventoryReadAccess() |
— |
OpenPromptCreateOufit |
OpenPromptCreateOufit(humanoidDescription: HumanoidDescription, rigType: HumanoidRigType) |
— |
OpenPromptDeleteOutfit |
OpenPromptDeleteOutfit(outfitId: int64) |
— |
OpenPromptRenameOutfit |
OpenPromptRenameOutfit(outfitId: int64) |
— |
OpenPromptSaveAvatar |
OpenPromptSaveAvatar(humanoidDescription: HumanoidDescription, rigType: HumanoidRigType) |
— |
OpenPromptSetFavorite |
OpenPromptSetFavorite(itemId: int64, itemType: AvatarItemType, shouldFavorite: bool) |
— |
OpenPromptUpdateOutfit |
OpenPromptUpdateOutfit(outfitId: int64, humanoidDescription: HumanoidDescription, rigType: HumanoidRigType) |
— |
PromptAllowInventoryReadAccessCompleted |
PromptAllowInventoryReadAccessCompleted(result: AvatarPromptResult) |
Fires when the AvatarEditorService.PromptAllowInventoryReadAccess() prompt is responded to by the user. |
PromptApplyProfileConfigurationCompleted |
PromptApplyProfileConfigurationCompleted(result: AvatarPromptResult) |
— |
PromptCreateOutfitCompleted |
PromptCreateOutfitCompleted(result: AvatarPromptResult, failureType: Variant) |
Fires when the PromptSaveOutfit operation is completed. |
PromptDeleteOutfitCompleted |
PromptDeleteOutfitCompleted(result: AvatarPromptResult) |
Fires when the PromptDeleteOutfit operation is completed. |
PromptRenameOutfitCompleted |
PromptRenameOutfitCompleted(result: AvatarPromptResult) |
Fires when the PromptRenameOutfit operation is completed. |
PromptSaveAvatarCompleted |
PromptSaveAvatarCompleted(result: AvatarPromptResult, humanoidDescription: HumanoidDescription) |
Fires when the AvatarEditorService.PromptSaveAvatar() operation is completed. |
PromptSaveAvatarThumbnailCustomizationCompleted |
PromptSaveAvatarThumbnailCustomizationCompleted(result: AvatarPromptResult, failureType: Variant) |
— |
PromptSetFavoriteCompleted |
PromptSetFavoriteCompleted(result: AvatarPromptResult) |
Fires when the AvatarEditorService.PromptSetFavorite() operation is completed. |
PromptUpdateOutfitCompleted |
PromptUpdateOutfitCompleted(result: AvatarPromptResult) |
Fires when the AvatarEditorService.PromptUpdateOutfit() operation is completed. |
Roblox reference: AvatarEditorService
Generated from Nova's API dump and Roblox creator-docs. Nova-only members come from the engine's reflection metadata.