Learn
Engine Class
AvatarEditorService
Not Creatable
Service

Summary
Methods
GetBatchItemDetails(itemIds: {any},itemType: Enum.AvatarItemType):{any}
Deprecated
GetFavorite(itemId: number,itemType: Enum.AvatarItemType):boolean
Deprecated
GetInventory(assetTypes: {any}):InventoryPages
Deprecated
GetItemDetails(itemId: number,itemType: Enum.AvatarItemType):Dictionary
Deprecated
GetOutfitDetails(outfitId: number):Dictionary
Deprecated
GetOutfits(outfitSource: Enum.OutfitSource,outfitType: Enum.OutfitType):OutfitPages
Deprecated
GetRecommendedAssets(assetType: Enum.AvatarAssetType,contextAssetId: number):{any}
Deprecated
GetRecommendedBundles(bundleId: number):{any}
Deprecated
PromptCreateOutfit(outfit: HumanoidDescription,rigType: Enum.HumanoidRigType,outfitOptions: Dictionary,outfitType: Variant):()
PromptSetFavorite(itemId: number,itemType: Enum.AvatarItemType,shouldFavorite: boolean):()
SearchCatalog(searchParameters: CatalogSearchParams):CatalogPages
Deprecated
Inherited Members

API Reference
Methods
CheckApplyDefaultClothing
Deprecated

CheckApplyDefaultClothingAsync
Yields
Capabilities: AvatarAppearance
AvatarEditorService:CheckApplyDefaultClothingAsync(humanoidDescription:HumanoidDescription):HumanoidDescription
Parameters
humanoidDescription:HumanoidDescription

ConformToAvatarRules
Deprecated

ConformToAvatarRulesAsync
Yields
Capabilities: AvatarAppearance
AvatarEditorService:ConformToAvatarRulesAsync(humanoidDescription:HumanoidDescription):HumanoidDescription
Parameters
humanoidDescription:HumanoidDescription

GetAccessoryType
AvatarEditorService:GetAccessoryType(avatarAssetType:Enum.AvatarAssetType):Enum.AccessoryType
Parameters
avatarAssetType:Enum.AvatarAssetType

GetAvatarRules
Deprecated

GetAvatarRulesAsync
Yields
AvatarEditorService:GetAvatarRulesAsync():Dictionary
Returns

GetBatchItemDetails
Deprecated

GetBatchItemDetailsAsync
Yields
Capabilities: AssetRead
AvatarEditorService:GetBatchItemDetailsAsync(
itemIds:{any}, itemType:Enum.AvatarItemType
Parameters
itemIds:{any}
Returns

GetBundlesByAssetIdAsync
Yields
Capabilities: AssetRead
AvatarEditorService:GetBundlesByAssetIdAsync(
assetId:number, limit:number
Parameters
assetId:number
limit:number
Default Value: 10

GetFavorite
Deprecated

GetFavoriteAsync
Yields
Capabilities: Players, AssetRead
AvatarEditorService:GetFavoriteAsync(
itemId:number, itemType:Enum.AvatarItemType
Parameters
itemId:number
Returns

GetHeadShapesAsync
Yields
Capabilities: Players, AssetRead
AvatarEditorService:GetHeadShapesAsync():{any}
Returns
Code Samples
Getting owned head shapes
local AvatarEditorService = game:GetService("AvatarEditorService")
AvatarEditorService:PromptAllowInventoryReadAccess()
local result = AvatarEditorService.PromptAllowInventoryReadAccessCompleted:Wait()
if result == Enum.AvatarPromptResult.Success then
local shapes = AvatarEditorService:GetHeadShapesAsync()
for i, shape in ipairs(shapes) do
print(i, shape)
end
end

GetInventory
Deprecated

GetInventoryAsync
Yields
Capabilities: Players, AssetRead
AvatarEditorService:GetInventoryAsync(assetTypes:{any}):InventoryPages
Parameters
assetTypes:{any}
Code Samples
Finding Expiring Items
local AvatarEditorService = game:GetService("AvatarEditorService")
local pages = AvatarEditorService:GetInventoryAsync({ Enum.AvatarAssetType.Hat })
local currentPage = pages:GetCurrentPage()
for _, item in currentPage do
if item.ExpirationTime then
local secondsLeft = item.ExpirationTime.UnixTimestamp - DateTime.now().UnixTimestamp
local hoursLeft = math.floor(secondsLeft / 3600)
if hoursLeft < 24 then
warn(string.format("%s expires in %d hours", item.Name, hoursLeft))
end
end
end

GetItemDetails
Deprecated

GetItemDetailsAsync
Yields
Capabilities: AssetRead
AvatarEditorService:GetItemDetailsAsync(
itemId:number, itemType:Enum.AvatarItemType
Parameters
itemId:number
Returns
Code Samples
Checking Item Expiration
local AvatarEditorService = game:GetService("AvatarEditorService")
local details = AvatarEditorService:GetItemDetailsAsync(105589844216517, Enum.AvatarItemType.Asset)
if details.ExpirationTime then
local secondsLeft = details.ExpirationTime.UnixTimestamp - DateTime.now().UnixTimestamp
local hoursLeft = math.floor(secondsLeft / 3600)
if hoursLeft < 24 then
warn(details.Name .. " expires in less than 24 hours!")
end
end

GetOutfitDetails
Deprecated

GetOutfitDetailsAsync
Yields
Capabilities: AssetRead
AvatarEditorService:GetOutfitDetailsAsync(outfitId:number):Dictionary
Parameters
outfitId:number
Returns

GetOutfits
Deprecated

GetOutfitsAsync
Yields
Capabilities: Players, AssetRead
AvatarEditorService:GetOutfitsAsync(
outfitSource:Enum.OutfitSource, outfitType:Enum.OutfitType
Parameters
outfitSource:Enum.OutfitSource
Default Value: "All"
outfitType:Enum.OutfitType
Default Value: "All"

GetRecommendedAssets
Deprecated

GetRecommendedAssetsAsync
Yields
Capabilities: AssetRead
AvatarEditorService:GetRecommendedAssetsAsync(
assetType:Enum.AvatarAssetType, contextAssetId:number
Parameters
contextAssetId:number
Default Value: 0
Returns
Code Samples
Getting a Hat Recommendation
local AvatarEditorService = game:GetService("AvatarEditorService")
local assets = AvatarEditorService:GetRecommendedAssetsAsync(Enum.AvatarAssetType.Hat, 9255093)
for _, asset in ipairs(assets) do
print(asset.Item.Name)
end

GetRecommendedBundles
Deprecated

GetRecommendedBundlesAsync
Yields
Capabilities: AssetRead
AvatarEditorService:GetRecommendedBundlesAsync(bundleId:number):{any}
Parameters
bundleId:number
Returns

PromptAllowInventoryReadAccess
Capabilities: Players, AssetRead
AvatarEditorService:PromptAllowInventoryReadAccess():()
Returns
()

PromptCreateOutfit
Capabilities: Players, PlatformAvatarEditing
AvatarEditorService:PromptCreateOutfit(
outfit:HumanoidDescription, rigType:Enum.HumanoidRigType, outfitOptions:Dictionary, outfitType:Variant
):()
Parameters
outfitOptions:Dictionary
Default Value: "nil"
outfitType:Variant
Returns
()

PromptDeleteOutfit
Capabilities: Players, PlatformAvatarEditing
AvatarEditorService:PromptDeleteOutfit(outfitId:number):()
Parameters
outfitId:number
Returns
()

PromptRenameOutfit
Capabilities: Players, PlatformAvatarEditing
AvatarEditorService:PromptRenameOutfit(outfitId:number):()
Parameters
outfitId:number
Returns
()

PromptSaveAvatar
Capabilities: Players, PlatformAvatarEditing
AvatarEditorService:PromptSaveAvatar(
humanoidDescription:HumanoidDescription, rigType:Enum.HumanoidRigType
):()
Parameters
humanoidDescription:HumanoidDescription
Returns
()

PromptSetFavorite
Capabilities: Players, PlatformAvatarEditing
AvatarEditorService:PromptSetFavorite(
itemId:number, itemType:Enum.AvatarItemType, shouldFavorite:boolean
):()
Parameters
itemId:number
shouldFavorite:boolean
Returns
()

PromptUpdateOutfit
Capabilities: Players, PlatformAvatarEditing
AvatarEditorService:PromptUpdateOutfit(
outfitId:number, updatedOutfit:HumanoidDescription, rigType:Enum.HumanoidRigType
):()
Parameters
outfitId:number
updatedOutfit:HumanoidDescription
Returns
()

SearchCatalog
Deprecated

SearchCatalogAsync
Yields
Capabilities: AssetRead
AvatarEditorService:SearchCatalogAsync(searchParameters:CatalogSearchParams):CatalogPages
Parameters
searchParameters:CatalogSearchParams
Code Samples
Searching for Items with Timed Options
local AvatarEditorService = game:GetService("AvatarEditorService")
local params = CatalogSearchParams.new()
params.SalesTypeFilter = Enum.SalesTypeFilter.TimedOptions
params.Limit = 10
local pages = AvatarEditorService:SearchCatalogAsync(params)
local results = pages:GetCurrentPage()
for _, item in results do
if item.TimedOptions then
for _, option in item.TimedOptions do
local days = option.Duration / 86400
print(string.format("%s: %d days for %d R$", item.Name, days, option.Price))
end
end
end

Events
PromptAllowInventoryReadAccessCompleted
Capabilities: Players, AssetRead
AvatarEditorService.PromptAllowInventoryReadAccessCompleted(result:Enum.AvatarPromptResult):RBXScriptSignal
Parameters

PromptCreateOutfitCompleted
Capabilities: Players, PlatformAvatarEditing
AvatarEditorService.PromptCreateOutfitCompleted(
result:Enum.AvatarPromptResult, failureType:Variant
Parameters
failureType:Variant

PromptDeleteOutfitCompleted
Capabilities: Players, PlatformAvatarEditing
AvatarEditorService.PromptDeleteOutfitCompleted(result:Enum.AvatarPromptResult):RBXScriptSignal
Parameters

PromptRenameOutfitCompleted
Capabilities: Players, PlatformAvatarEditing
AvatarEditorService.PromptRenameOutfitCompleted(result:Enum.AvatarPromptResult):RBXScriptSignal
Parameters

PromptSaveAvatarCompleted
Capabilities: Players, PlatformAvatarEditing
AvatarEditorService.PromptSaveAvatarCompleted(
result:Enum.AvatarPromptResult, humanoidDescription:HumanoidDescription
Parameters
humanoidDescription:HumanoidDescription

PromptSetFavoriteCompleted
Capabilities: Players, PlatformAvatarEditing
AvatarEditorService.PromptSetFavoriteCompleted(result:Enum.AvatarPromptResult):RBXScriptSignal
Parameters

PromptUpdateOutfitCompleted
Capabilities: Players, PlatformAvatarEditing
AvatarEditorService.PromptUpdateOutfitCompleted(result:Enum.AvatarPromptResult):RBXScriptSignal
Parameters

©2026 Roblox Corporation. Roblox, the Roblox logo and Powering Imagination are among our registered and unregistered trademarks in the U.S. and other countries.