Engine Class
AvatarEditorService
Summary
Methods
Events
PromptCreateOutfitCompleted(result: Enum.AvatarPromptResult,failureType: Variant):RBXScriptSignal |
PromptSaveAvatarCompleted(result: Enum.AvatarPromptResult,humanoidDescription: HumanoidDescription):RBXScriptSignal |
API Reference
Methods
CheckApplyDefaultClothing
CheckApplyDefaultClothingAsync
AvatarEditorService:CheckApplyDefaultClothingAsync(humanoidDescription:HumanoidDescription):HumanoidDescription
Parameters
Returns
ConformToAvatarRules
ConformToAvatarRulesAsync
AvatarEditorService:ConformToAvatarRulesAsync(humanoidDescription:HumanoidDescription):HumanoidDescription
Parameters
Returns
GetAccessoryType
Parameters
Returns
GetAvatarRules
GetBatchItemDetails
GetBatchItemDetailsAsync
Parameters
Returns
GetBundlesByAssetIdAsync
Returns
GetFavorite
GetFavoriteAsync
Parameters
Returns
GetHeadShapesAsync
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
endGetInventory
GetInventoryAsync
Parameters
Returns
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
endGetItemDetails
GetItemDetailsAsync
Parameters
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
endGetOutfitDetails
GetOutfitDetailsAsync
Parameters
Returns
GetOutfits
GetOutfitsAsync
AvatarEditorService:GetOutfitsAsync(
Parameters
| Default Value: "All" |
| Default Value: "All" |
Returns
GetRecommendedAssets
GetRecommendedAssetsAsync
AvatarEditorService:GetRecommendedAssetsAsync(
Parameters
| 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)
endGetRecommendedBundles
GetRecommendedBundlesAsync
PromptAllowInventoryReadAccess
AvatarEditorService:PromptAllowInventoryReadAccess():()
Returns
()
PromptCreateOutfit
AvatarEditorService:PromptCreateOutfit(
outfit:HumanoidDescription, rigType:Enum.HumanoidRigType, outfitOptions:Dictionary, outfitType:Variant
):()
Parameters
| Default Value: "nil" |
outfitType:Variant |
Returns
()
PromptDeleteOutfit
PromptRenameOutfit
PromptSaveAvatar
AvatarEditorService:PromptSaveAvatar(
):()
Parameters
Returns
()
PromptSetFavorite
AvatarEditorService:PromptSetFavorite(
):()
Parameters
Returns
()
PromptUpdateOutfit
AvatarEditorService:PromptUpdateOutfit(
):()
Parameters
Returns
()
SearchCatalog
SearchCatalogAsync
Parameters
Returns
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
endEvents
PromptAllowInventoryReadAccessCompleted
AvatarEditorService.PromptAllowInventoryReadAccessCompleted(result:Enum.AvatarPromptResult):RBXScriptSignal
Parameters
PromptCreateOutfitCompleted
AvatarEditorService.PromptCreateOutfitCompleted(
Parameters
failureType:Variant |
PromptDeleteOutfitCompleted
Parameters
PromptRenameOutfitCompleted
Parameters
PromptSaveAvatarCompleted
AvatarEditorService.PromptSaveAvatarCompleted(
Parameters
PromptSetFavoriteCompleted
Parameters
PromptUpdateOutfitCompleted
Parameters