Skip to main content

AvatarEditorUtils

Provides utilities to query the AvatarEditorService with a promise wrapper.

Types​

AvatarItemBundledItemDetails​

interface AvatarItemBundledItemDetails {
Owned: boolean
Id: number
Name: string
Type: string
}

PremiumPricingItemDetails​

interface PremiumPricingItemDetails {
PremiumDiscountPercentage: number
PremiumPriceInRobux: number
}

AvatarItemDetails​

interface AvatarItemDetails {
IsForRent: boolean
ExpectedSellerId: number
Owned: boolean
IsPurchasable: boolean
Id: number
ItemType: "Asset" | "Bundle" | string
AssetType: "Image" | string
BundleType: "BodyParts" | string
Name: string
Description: string
ProductId: number
Genres: {string}
ItemStatus: {string}
ItemRestrictions: {"ThirteenPlus"}
CreatorType: "User" | string
CreatorTargetId: number
CreatorName: string
Price: number
PremiumPricing: PremiumPricingItemDetails
LowestPrice: number
PriceStatus: string
UnitsAvailableForConsumption: number
PurchaseCount: number
FavoriteCount: number
}

A table with a variety of information about avatar items and details. https://create.roblox.com/docs/reference/engine/classes/AvatarEditorService#GetItemDetails

AvatarRulesWearableAssetType​

interface AvatarRulesWearableAssetType {
MaxNumber: number
Id: number
Name: string
}

AvatarRulesBodyColor​

interface AvatarRulesBodyColor {
BrickColorId: 0
NexColor: string
Name: string
}

AvatarRuleDefaultClothingAssetLists​

interface AvatarRuleDefaultClothingAssetLists {
DefaultShirtAssetIds: {number}
DefaultPantAssetIds: {number}
}

AvatarRules​

interface AvatarRules {
PlayerAvatarTypes: "R6" | "R15" | string
Scales: table
WearableAssetTypes":: {AvatarRulesWearableAssetType}
BodyColorsPalette":: {AvatarRulesBodyColor}
BasicBodyColorsPalette":: {AvatarRulesBodyColor}
MinimumDeltaEBodyColorDifference: number
ProportionsAndBodyTypeEnabledForUser: boolean
DefaultClothingAssetLists":: AvatarRuleDefaultClothingAssetLists
BundlesEnabledForUser: boolean
EmotesEnabledForUser: boolean
}

Functions​

promiseItemDetails​

AvatarEditorUtils.promiseItemDetails(
itemId: number,
itemType: AvatarItemType
) → Promise<AvatarItemDetails>

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.

promiseBatchItemDetails​

AvatarEditorUtils.promiseBatchItemDetails(
itemIds: {number},
itemType: AvatarItemType
) → Promise<{{AvatarItemDetails}>}

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.

promiseCheckApplyDefaultClothing​

AvatarEditorUtils.promiseCheckApplyDefaultClothing(humanoidDescription: HumanoidDescription) → Promise<HumanoidDescription?>

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.

promiseConformToAvatarRules​

AvatarEditorUtils.promiseConformToAvatarRules(humanoidDescription: HumanoidDescription) → Promise<HumanoidDescription>

Probably makes the humanoid description conform to avatar rules.

promiseAvatarRules​

AvatarEditorUtils.promiseAvatarRules() → Promise<AvatarRules>

Returns the platform Avatar rules for things such as scaling, default shirts and pants, number of wearable assets.

https://create.roblox.com/docs/reference/engine/classes/AvatarEditorService#GetAvatarRules

promiseIsFavorited​

AvatarEditorUtils.promiseIsFavorited(
itemId: number,
itemType: AvatarItemType
) → Promise<boolean>

This function returns if the Players.LocalPlayer has favorited the given bundle or asset.

promiseSearchCatalog​

AvatarEditorUtils.promiseSearchCatalog(catalogSearchParams: CatalogSearchParams) → Promise<CatalogPages>

This function returns if the Players.LocalPlayer has favorited the given bundle or asset.

promiseInventoryPages​

AvatarEditorUtils.promiseInventoryPages(assetTypes: {AvatarAssetType}) → Promise<InventoryPages>

Returns an InventoryPages object with information about owned items in the users inventory with the given AvatarAssetTypes.

promiseOutfitPages​

AvatarEditorUtils.promiseOutfitPages(
outfitSource: OutfitSource,
outfitType: OutfitType
) → Promise<OutfitPages>

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.

promiseRecommendedAssets​

AvatarEditorUtils.promiseRecommendedAssets(
assetType: AvatarAssetType,
contextAssetId: number?--

Optional. if not provided just gives recommendations in general

) → Promise<{number}>

This function returns a list of recommendations based on the given AssetType.

https://create.roblox.com/docs/reference/engine/classes/AvatarEditorService#GetRecommendedAssets

WARNING

This API surface currently returns "AvatarEditorService is not yet enabled" when queried outside of approved games.

promiseRecommendedBundles​

AvatarEditorUtils.promiseRecommendedBundles(bundleId: number) → Promise<{number}>

This function returns a list of recommended bundles for a given bundle id.

promptAllowInventoryReadAccess​

AvatarEditorUtils.promptAllowInventoryReadAccess() → Promise<AvatarPromptResult>

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​

AvatarEditorUtils.promptCreateOutfit() → Promise<AvatarPromptResult>

Prompts the Players.LocalPlayer to save the given HumanoidDescription as an outfit.

promptDeleteOutfit​

AvatarEditorUtils.promptDeleteOutfit(outfitId: number) → Promise<AvatarPromptResult>

Prompts the Players.LocalPlayer to delete the given outfit.

promptRenameOutfit​

AvatarEditorUtils.promptRenameOutfit(outfitId: number) → Promise<AvatarPromptResult>

Prompts the Players.LocalPlayer to delete the given outfit.

promptSaveAvatar​

AvatarEditorUtils.promptSaveAvatar(
humanoidDescription: HumanoidDescription,
) → Promise<AvatarPromptResult>

promptSetFavorite​

AvatarEditorUtils.promptSetFavorite(
itemId: number,
itemType: Enum.AvatarItemType,
shouldFavorite: boolean
) → Promise<AvatarPromptResult>

This function prompts the Players.LocalPlayer to favorite or unfavorite the given asset or bundle.

promptUpdateOutfit​

AvatarEditorUtils.promptUpdateOutfit(
outfitId: number,
updatedOutfit: HumanoidDescription,
) → Promise<AvatarPromptResult>

Prompts the Players.LocalPlayer to update the given outfit with the given HumanoidDescription.

Show raw api
{
    "functions": [
        {
            "name": "promiseItemDetails",
            "desc": "This function returns the item details for the given item.\nIt accepts two parameters - the first indicating the ID of the item being retrieved\nand the second indicating its [Enum.ItemType].",
            "params": [
                {
                    "name": "itemId",
                    "desc": "",
                    "lua_type": "number"
                },
                {
                    "name": "itemType",
                    "desc": "",
                    "lua_type": "AvatarItemType"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "Promise<AvatarItemDetails>"
                }
            ],
            "function_type": "static",
            "source": {
                "line": 119,
                "path": "src/avatareditorutils/src/Shared/AvatarEditorUtils.lua"
            }
        },
        {
            "name": "promiseBatchItemDetails",
            "desc": "Gets the item details for a list of items at once. More efficient than [AvatarEditorService.GetItemDetails]\nif you need to get all the item details of a list.",
            "params": [
                {
                    "name": "itemIds",
                    "desc": "",
                    "lua_type": "{ number }"
                },
                {
                    "name": "itemType",
                    "desc": "",
                    "lua_type": "AvatarItemType"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "Promise<{ { AvatarItemDetails } >"
                }
            ],
            "function_type": "static",
            "source": {
                "line": 152,
                "path": "src/avatareditorutils/src/Shared/AvatarEditorUtils.lua"
            }
        },
        {
            "name": "promiseCheckApplyDefaultClothing",
            "desc": "Returns a new HumanoidDescription with the Shirt and Pants properties updated if necessary.\nReturns nil if default clothing was not needed.\n\nDefault clothing is necessary if the HumanoidDescription does not currently have Shirt and\nPants equipped and the body colors are too similar.",
            "params": [
                {
                    "name": "humanoidDescription",
                    "desc": "",
                    "lua_type": "HumanoidDescription"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "Promise<HumanoidDescription?>"
                }
            ],
            "function_type": "static",
            "source": {
                "line": 187,
                "path": "src/avatareditorutils/src/Shared/AvatarEditorUtils.lua"
            }
        },
        {
            "name": "promiseConformToAvatarRules",
            "desc": "Probably makes the humanoid description conform to avatar rules.",
            "params": [
                {
                    "name": "humanoidDescription",
                    "desc": "",
                    "lua_type": "HumanoidDescription"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "Promise<HumanoidDescription>"
                }
            ],
            "function_type": "static",
            "source": {
                "line": 225,
                "path": "src/avatareditorutils/src/Shared/AvatarEditorUtils.lua"
            }
        },
        {
            "name": "promiseAvatarRules",
            "desc": "Returns the platform Avatar rules for things such as scaling, default shirts and pants, number of wearable assets.\n\nhttps://create.roblox.com/docs/reference/engine/classes/AvatarEditorService#GetAvatarRules",
            "params": [],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "Promise<AvatarRules>"
                }
            ],
            "function_type": "static",
            "source": {
                "line": 328,
                "path": "src/avatareditorutils/src/Shared/AvatarEditorUtils.lua"
            }
        },
        {
            "name": "promiseIsFavorited",
            "desc": "This function returns if the Players.LocalPlayer has favorited the given bundle or asset.",
            "params": [
                {
                    "name": "itemId",
                    "desc": "",
                    "lua_type": "number"
                },
                {
                    "name": "itemType",
                    "desc": "",
                    "lua_type": "AvatarItemType"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "Promise<boolean>"
                }
            ],
            "function_type": "static",
            "source": {
                "line": 354,
                "path": "src/avatareditorutils/src/Shared/AvatarEditorUtils.lua"
            }
        },
        {
            "name": "promiseSearchCatalog",
            "desc": "This function returns if the Players.LocalPlayer has favorited the given bundle or asset.",
            "params": [
                {
                    "name": "catalogSearchParams",
                    "desc": "",
                    "lua_type": "CatalogSearchParams"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "Promise<CatalogPages>"
                }
            ],
            "function_type": "static",
            "source": {
                "line": 382,
                "path": "src/avatareditorutils/src/Shared/AvatarEditorUtils.lua"
            }
        },
        {
            "name": "promiseInventoryPages",
            "desc": "Returns an InventoryPages object with information about owned items in the users inventory with the given AvatarAssetTypes.",
            "params": [
                {
                    "name": "assetTypes",
                    "desc": "",
                    "lua_type": "{ AvatarAssetType }"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "Promise<InventoryPages>"
                }
            ],
            "function_type": "static",
            "source": {
                "line": 409,
                "path": "src/avatareditorutils/src/Shared/AvatarEditorUtils.lua"
            }
        },
        {
            "name": "promiseOutfitPages",
            "desc": "This function returns outfit data for the Players.LocalPlayer. This would be used with\n[Players.GetHumanoidDescriptionFromOutfitId] to update the players character to the outfit.\nAccess to this would also depend on [AvatarEditorService.PromptAllowInventoryReadAccess]\nbeing accepted by the user.",
            "params": [
                {
                    "name": "outfitSource",
                    "desc": "",
                    "lua_type": "OutfitSource"
                },
                {
                    "name": "outfitType",
                    "desc": "",
                    "lua_type": "OutfitType"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "Promise<OutfitPages>"
                }
            ],
            "function_type": "static",
            "source": {
                "line": 440,
                "path": "src/avatareditorutils/src/Shared/AvatarEditorUtils.lua"
            }
        },
        {
            "name": "promiseRecommendedAssets",
            "desc": "This function returns a list of recommendations based on the given AssetType.\n\nhttps://create.roblox.com/docs/reference/engine/classes/AvatarEditorService#GetRecommendedAssets\n\n:::warning\nThis API surface currently returns \"AvatarEditorService is not yet enabled\" when queried outside\nof approved games.\n:::",
            "params": [
                {
                    "name": "assetType",
                    "desc": "",
                    "lua_type": "AvatarAssetType"
                },
                {
                    "name": "contextAssetId",
                    "desc": "Optional. if not provided just gives recommendations in general",
                    "lua_type": "number?"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "Promise<{ number }>"
                }
            ],
            "function_type": "static",
            "source": {
                "line": 476,
                "path": "src/avatareditorutils/src/Shared/AvatarEditorUtils.lua"
            }
        },
        {
            "name": "promiseRecommendedBundles",
            "desc": "This function returns a list of recommended bundles for a given bundle id.",
            "params": [
                {
                    "name": "bundleId",
                    "desc": "",
                    "lua_type": "number"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "Promise<{ number }>"
                }
            ],
            "function_type": "static",
            "source": {
                "line": 502,
                "path": "src/avatareditorutils/src/Shared/AvatarEditorUtils.lua"
            }
        },
        {
            "name": "promptAllowInventoryReadAccess",
            "desc": "Prompts the Players.LocalPlayer to allow the developer to read what items the user has in their inventory and other\navatar editor related information. The prompt needs to be confirmed by the user for the developer to use\nAvatarEditorService:GetInventory(), AvatarEditorService:GetOutfits() and AvatarEditorService:GetFavorite(). Permission\ndoes not persist between sessions.",
            "params": [],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "Promise<AvatarPromptResult>"
                }
            ],
            "function_type": "static",
            "source": {
                "line": 531,
                "path": "src/avatareditorutils/src/Shared/AvatarEditorUtils.lua"
            }
        },
        {
            "name": "promptCreateOutfit",
            "desc": "Prompts the Players.LocalPlayer to save the given HumanoidDescription as an outfit.",
            "params": [
                {
                    "name": "outfit",
                    "desc": "",
                    "lua_type": "HumanoidDescription"
                },
                {
                    "name": "rigType",
                    "desc": "",
                    "lua_type": "HumanoidRigType"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "Promise<AvatarPromptResult>"
                }
            ],
            "function_type": "static",
            "source": {
                "line": 570,
                "path": "src/avatareditorutils/src/Shared/AvatarEditorUtils.lua"
            }
        },
        {
            "name": "promptDeleteOutfit",
            "desc": "Prompts the Players.LocalPlayer to delete the given outfit.",
            "params": [
                {
                    "name": "outfitId",
                    "desc": "",
                    "lua_type": "number"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "Promise<AvatarPromptResult>"
                }
            ],
            "function_type": "static",
            "source": {
                "line": 607,
                "path": "src/avatareditorutils/src/Shared/AvatarEditorUtils.lua"
            }
        },
        {
            "name": "promptRenameOutfit",
            "desc": "Prompts the Players.LocalPlayer to delete the given outfit.",
            "params": [
                {
                    "name": "outfitId",
                    "desc": "",
                    "lua_type": "number"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "Promise<AvatarPromptResult>"
                }
            ],
            "function_type": "static",
            "source": {
                "line": 645,
                "path": "src/avatareditorutils/src/Shared/AvatarEditorUtils.lua"
            }
        },
        {
            "name": "promptSaveAvatar",
            "desc": "",
            "params": [
                {
                    "name": "humanoidDescription",
                    "desc": "",
                    "lua_type": "HumanoidDescription"
                },
                {
                    "name": "rigType",
                    "desc": "",
                    "lua_type": "HumanoidRigType"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "Promise<AvatarPromptResult>"
                }
            ],
            "function_type": "static",
            "source": {
                "line": 682,
                "path": "src/avatareditorutils/src/Shared/AvatarEditorUtils.lua"
            }
        },
        {
            "name": "promptSetFavorite",
            "desc": "This function prompts the Players.LocalPlayer to favorite or unfavorite the given asset or bundle.",
            "params": [
                {
                    "name": "itemId",
                    "desc": "",
                    "lua_type": "number"
                },
                {
                    "name": "itemType",
                    "desc": "",
                    "lua_type": "Enum.AvatarItemType"
                },
                {
                    "name": "shouldFavorite",
                    "desc": "",
                    "lua_type": "boolean"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "Promise<AvatarPromptResult>"
                }
            ],
            "function_type": "static",
            "source": {
                "line": 726,
                "path": "src/avatareditorutils/src/Shared/AvatarEditorUtils.lua"
            }
        },
        {
            "name": "promptUpdateOutfit",
            "desc": "Prompts the Players.LocalPlayer to update the given outfit with the given HumanoidDescription.",
            "params": [
                {
                    "name": "outfitId",
                    "desc": "",
                    "lua_type": "number"
                },
                {
                    "name": "updatedOutfit",
                    "desc": "",
                    "lua_type": "HumanoidDescription"
                },
                {
                    "name": "rigType",
                    "desc": "",
                    "lua_type": "HumanoidRigType"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "Promise<AvatarPromptResult>"
                }
            ],
            "function_type": "static",
            "source": {
                "line": 768,
                "path": "src/avatareditorutils/src/Shared/AvatarEditorUtils.lua"
            }
        }
    ],
    "properties": [],
    "types": [
        {
            "name": "AvatarItemBundledItemDetails",
            "desc": "Holds item details for a bundle\nhttps://create.roblox.com/docs/reference/engine/classes/AvatarEditorService#GetItemDetails",
            "fields": [
                {
                    "name": "Owned",
                    "lua_type": "boolean",
                    "desc": ""
                },
                {
                    "name": "Id",
                    "lua_type": "number",
                    "desc": ""
                },
                {
                    "name": "Name",
                    "lua_type": "string",
                    "desc": ""
                },
                {
                    "name": "Type",
                    "lua_type": "string",
                    "desc": ""
                }
            ],
            "source": {
                "line": 30,
                "path": "src/avatareditorutils/src/Shared/AvatarEditorUtils.lua"
            }
        },
        {
            "name": "PremiumPricingItemDetails",
            "desc": "Holds premium pricing detail\nhttps://create.roblox.com/docs/reference/engine/classes/AvatarEditorService#GetItemDetails",
            "fields": [
                {
                    "name": "PremiumDiscountPercentage",
                    "lua_type": "number",
                    "desc": ""
                },
                {
                    "name": "PremiumPriceInRobux",
                    "lua_type": "number",
                    "desc": ""
                }
            ],
            "source": {
                "line": 45,
                "path": "src/avatareditorutils/src/Shared/AvatarEditorUtils.lua"
            }
        },
        {
            "name": "AvatarItemDetails",
            "desc": "A table with a variety of information about avatar items and details.\nhttps://create.roblox.com/docs/reference/engine/classes/AvatarEditorService#GetItemDetails",
            "fields": [
                {
                    "name": "IsForRent",
                    "lua_type": "boolean",
                    "desc": ""
                },
                {
                    "name": "ExpectedSellerId",
                    "lua_type": "number",
                    "desc": ""
                },
                {
                    "name": "Owned",
                    "lua_type": "boolean",
                    "desc": ""
                },
                {
                    "name": "IsPurchasable",
                    "lua_type": "boolean",
                    "desc": ""
                },
                {
                    "name": "Id",
                    "lua_type": "number",
                    "desc": ""
                },
                {
                    "name": "ItemType",
                    "lua_type": "\"Asset\" | \"Bundle\" | string",
                    "desc": ""
                },
                {
                    "name": "AssetType",
                    "lua_type": "\"Image\" | string",
                    "desc": ""
                },
                {
                    "name": "BundleType",
                    "lua_type": "\"BodyParts\" | string",
                    "desc": ""
                },
                {
                    "name": "Name",
                    "lua_type": "string",
                    "desc": ""
                },
                {
                    "name": "Description",
                    "lua_type": "string",
                    "desc": ""
                },
                {
                    "name": "ProductId",
                    "lua_type": "number",
                    "desc": ""
                },
                {
                    "name": "Genres",
                    "lua_type": "{ string }",
                    "desc": ""
                },
                {
                    "name": "BundledItems",
                    "lua_type": "{ AvatarItemBundledItemDetails }",
                    "desc": ""
                },
                {
                    "name": "ItemStatus",
                    "lua_type": "{ string }",
                    "desc": ""
                },
                {
                    "name": "ItemRestrictions",
                    "lua_type": "{ \"ThirteenPlus\" }",
                    "desc": ""
                },
                {
                    "name": "CreatorType",
                    "lua_type": "\"User\" | string",
                    "desc": ""
                },
                {
                    "name": "CreatorTargetId",
                    "lua_type": "number",
                    "desc": ""
                },
                {
                    "name": "CreatorName",
                    "lua_type": "string",
                    "desc": ""
                },
                {
                    "name": "Price",
                    "lua_type": "number",
                    "desc": ""
                },
                {
                    "name": "PremiumPricing",
                    "lua_type": "PremiumPricingItemDetails",
                    "desc": ""
                },
                {
                    "name": "LowestPrice",
                    "lua_type": "number",
                    "desc": ""
                },
                {
                    "name": "PriceStatus",
                    "lua_type": "string",
                    "desc": ""
                },
                {
                    "name": "UnitsAvailableForConsumption",
                    "lua_type": "number",
                    "desc": ""
                },
                {
                    "name": "PurchaseCount",
                    "lua_type": "number",
                    "desc": ""
                },
                {
                    "name": "FavoriteCount",
                    "lua_type": "number",
                    "desc": ""
                }
            ],
            "source": {
                "line": 82,
                "path": "src/avatareditorutils/src/Shared/AvatarEditorUtils.lua"
            }
        },
        {
            "name": "AvatarRulesWearableAssetType",
            "desc": "https://create.roblox.com/docs/reference/engine/classes/AvatarEditorService#GetAvatarRules",
            "fields": [
                {
                    "name": "MaxNumber",
                    "lua_type": "number",
                    "desc": ""
                },
                {
                    "name": "Id",
                    "lua_type": "number",
                    "desc": ""
                },
                {
                    "name": "Name",
                    "lua_type": "string",
                    "desc": ""
                }
            ],
            "source": {
                "line": 260,
                "path": "src/avatareditorutils/src/Shared/AvatarEditorUtils.lua"
            }
        },
        {
            "name": "AvatarRulesBodyColor",
            "desc": "https://create.roblox.com/docs/reference/engine/classes/AvatarEditorService#GetAvatarRules",
            "fields": [
                {
                    "name": "BrickColorId",
                    "lua_type": "0",
                    "desc": ""
                },
                {
                    "name": "NexColor",
                    "lua_type": "string",
                    "desc": ""
                },
                {
                    "name": "Name",
                    "lua_type": "string",
                    "desc": ""
                }
            ],
            "source": {
                "line": 275,
                "path": "src/avatareditorutils/src/Shared/AvatarEditorUtils.lua"
            }
        },
        {
            "name": "AvatarRuleDefaultClothingAssetLists",
            "desc": "",
            "fields": [
                {
                    "name": "DefaultShirtAssetIds",
                    "lua_type": "{ number }",
                    "desc": ""
                },
                {
                    "name": "DefaultPantAssetIds",
                    "lua_type": "{ number }",
                    "desc": ""
                }
            ],
            "source": {
                "line": 287,
                "path": "src/avatareditorutils/src/Shared/AvatarEditorUtils.lua"
            }
        },
        {
            "name": "AvatarRules",
            "desc": "https://create.roblox.com/docs/reference/engine/classes/AvatarEditorService#GetAvatarRules",
            "fields": [
                {
                    "name": "PlayerAvatarTypes",
                    "lua_type": "\"R6\" | \"R15\" | string",
                    "desc": ""
                },
                {
                    "name": "Scales",
                    "lua_type": "table",
                    "desc": ""
                },
                {
                    "name": "WearableAssetTypes\":",
                    "lua_type": "{ AvatarRulesWearableAssetType }",
                    "desc": ""
                },
                {
                    "name": "BodyColorsPalette\":",
                    "lua_type": "{ AvatarRulesBodyColor }",
                    "desc": ""
                },
                {
                    "name": "BasicBodyColorsPalette\":",
                    "lua_type": "{ AvatarRulesBodyColor }",
                    "desc": ""
                },
                {
                    "name": "MinimumDeltaEBodyColorDifference",
                    "lua_type": "number",
                    "desc": ""
                },
                {
                    "name": "ProportionsAndBodyTypeEnabledForUser",
                    "lua_type": "boolean",
                    "desc": ""
                },
                {
                    "name": "DefaultClothingAssetLists\":",
                    "lua_type": "AvatarRuleDefaultClothingAssetLists",
                    "desc": ""
                },
                {
                    "name": "BundlesEnabledForUser",
                    "lua_type": "boolean",
                    "desc": ""
                },
                {
                    "name": "EmotesEnabledForUser",
                    "lua_type": "boolean",
                    "desc": ""
                }
            ],
            "source": {
                "line": 308,
                "path": "src/avatareditorutils/src/Shared/AvatarEditorUtils.lua"
            }
        }
    ],
    "name": "AvatarEditorUtils",
    "desc": "Provides utilities to query the AvatarEditorService with a promise wrapper.",
    "source": {
        "line": 7,
        "path": "src/avatareditorutils/src/Shared/AvatarEditorUtils.lua"
    }
}