37 min read

Source: Roblox Creator Hub · CC BY 4.0 · View source · Code samples: MIT Imported 2026-10-03. Formatting adapted for this site.

HumanoidDescription

Inherits from: Instance → Object

HumanoidDescription is an object that stores a description of a Humanoid for R6 and R15 rigs. It can be applied in order to set a rig's scaling, clothing (Shirt, Pants, ShirtGraphic), Accessories, Animations and BodyColors.

You can get a HumanoidDescription by using the following functions:

See also:

Inherits from: Instance

Memory category: Instances

Properties

NameType / ReturnsDescription
HumanoidDescription.AccessoryBlobstringA JSON formatted array of Layered clothing where each table in the entry in the array describes an accessory's AssetId, AccessoryType, Order, and (optionally) Puffiness as key-value pairs.
HumanoidDescription.BackAccessorystringA comma-separated list of asset IDs that will be added as Accessories to a Humanoid rig when applied, usually those attached to its back (such as capes).
HumanoidDescription.BodyTypeScalefloatDetermines the factor by which the shape of a Humanoid is interpolated from the standard R15 body shape (0) to a taller and more slender body type (1).
HumanoidDescription.ClimbAnimationint64When this description is applied to a Humanoid, this determines the Animation.AnimationId to play when its state is Climbing.
HumanoidDescription.DepthScalefloatDetermines by what factor the depth (back-to-front distance) of a Humanoid is scaled.
HumanoidDescription.Faceint64Determines the asset ID of the Face to be applied to the Humanoid.
HumanoidDescription.FaceAccessorystringA comma-separated list of asset IDs that will be added as Accessories to a Humanoid rig when applied, usually those attached to the front of its face (such as glasses).
HumanoidDescription.FallAnimationint64When this description is applied to a Humanoid, this determines the Animation.AnimationId to play when its state is Freefall.
HumanoidDescription.FrontAccessorystringA comma-separated list of asset IDs that will be added as Accessories to a Humanoid rig when applied, usually those attached to front of its torso (such as medals or ties).
HumanoidDescription.GraphicTShirtint64Determines the Graphic used by a ShirtGraphic.
HumanoidDescription.HairAccessorystringA comma-separated list of asset IDs that will be added as Accessories to a Humanoid rig when applied, usually those attached to its head resembling hair.
HumanoidDescription.HatAccessorystringA comma-separated list of asset IDs that will be added as Accessories to a Humanoid rig when applied, usually those attached to its head.
HumanoidDescription.Headint64Determines the asset ID of the Head to be applied to the Humanoid.
HumanoidDescription.HeadColorColor3Determines the BodyColors.HeadColor3 and BodyColors.HeadColor of a Humanoid when applied.
HumanoidDescription.HeadScalefloatDetermines by what factor the Head object of a Humanoid is scaled, as well as any accessories attached to it.
HumanoidDescription.HeightScalefloatDetermines by what factor the height (top-to-bottom distance) of a Humanoid is scaled, as well as all accessories not attached to its head.
HumanoidDescription.IdleAnimationint64When this description is applied to a Humanoid, this determines the Animation.AnimationId to play when its state is Running at a speed near zero.
HumanoidDescription.JumpAnimationint64When this description is applied to a Humanoid, this determines the Animation.AnimationId to play when its state is Jumping.
HumanoidDescription.LeftArmint64Determines the asset ID of the LeftArm to be applied to the Humanoid.
HumanoidDescription.LeftArmColorColor3Determines the BodyColors.LeftArmColor3 and BodyColors.LeftArmColor of a Humanoid when applied.
HumanoidDescription.LeftLegint64Determines the asset ID of the LeftLeg to be applied to the Humanoid.
HumanoidDescription.LeftLegColorColor3Determines the BodyColors.LeftLegColor3 and BodyColors.LeftLegColor of a Humanoid when applied.
HumanoidDescription.MoodAnimationint64When this description is applied to a Humanoid, this determines the asset ID of the mood animation that gives the character's face its persistent expression.
HumanoidDescription.NeckAccessorystringA comma-separated list of asset IDs that will be added as Accessories to a Humanoid rig when applied, usually those attached to its neck (such as scarves or necklaces).
HumanoidDescription.Pantsint64Determines the PantsTemplate used by a Pants instance.
HumanoidDescription.ProportionScalefloatDetermines how wide (0) or narrow (1) a Humanoid rig is.
HumanoidDescription.RightArmint64Determines the asset ID of the RightArm to be applied to the Humanoid.
HumanoidDescription.RightArmColorColor3Determines the BodyColors.RightArmColor3 and BodyColors.RightArmColor of a Humanoid when applied.
HumanoidDescription.RightLegint64Determines the asset ID of the RightLeg to be applied to the Humanoid.
HumanoidDescription.RightLegColorColor3Determines the BodyColors.RightLegColor3 and BodyColors.RightLegColor of a Humanoid when applied.
HumanoidDescription.RunAnimationint64When this description is applied to a Humanoid, this determines the Animation.AnimationId to play when its state is Running at a moderate speed.
HumanoidDescription.Shirtint64Determines the ShirtTemplate used by a Shirt instance.
HumanoidDescription.ShouldersAccessorystringA comma-separated list of asset IDs that will be added as Accessories to a Humanoid rig when applied, usually those attached to its shoulders (such as shoulder-mounted critters).
HumanoidDescription.StaticFacialAnimationbooleanWhen true, disables facial animations on a Dynamic Head, displaying a static mood pose instead. Defaults to false.
HumanoidDescription.SwimAnimationint64When this description is applied to a Humanoid, this determines the Animation.AnimationId to play when its state is Swimming.
HumanoidDescription.Torsoint64Determines the asset ID of the Torso to be applied to the Humanoid.
HumanoidDescription.TorsoColorColor3Determines the BodyColors.TorsoColor3 and BodyColors.TorsoColor of a Humanoid when applied.
HumanoidDescription.UseAvatarSettingsbooleanWhen true, applying this description also applies the experience's Avatar Settings to the resulting model. Defaults to false.
HumanoidDescription.WaistAccessorystringA comma-separated list of asset IDs that will be added as Accessories to a Humanoid rig when applied, usually those attached to its waist (such as belts).
HumanoidDescription.WalkAnimationint64When this description is applied to a Humanoid, this determines the Animation.AnimationId to play when its state is Running at a low speed.
HumanoidDescription.WidthScalefloatDetermines by what factor the width (left-to-right distance) of a Humanoid is scaled, as well as all accessories not attached to its head.

Inherited from Instance

NameType / ReturnsDescription
Instance.ArchivablebooleanDetermines if an Instance and its descendants can be cloned using Instance:Clone(), and can be saved/published.
Instance.archivableboolean
Instance.CapabilitiesSecurityCapabilitiesThe set of capabilities allowed to be used for scripts inside this container.
Instance.IsInSandboxbooleanIndicates whether the instance is inside a sandboxed container.
Instance.NamestringA non-unique identifier of the Instance.
Instance.ParentInstanceDetermines the hierarchical parent of the Instance.
Instance.PredictionModePredictionModeReflects the client-side prediction mode applied to the instance under server-authoritative physics.
Instance.RobloxLockedbooleanA deprecated property that used to protect CoreGui objects.
Instance.SandboxedbooleanWhen enabled, the instance can only access abilities in its Capabilities list.
Instance.UniqueIdUniqueIdA unique identifier for the instance.

Inherited from Object

NameType / ReturnsDescription
Object.ClassNamestringA read-only string representing the class this Object belongs to.
Object.classNamestring

HumanoidDescription.AccessoryBlob

A JSON formatted array of Layered clothing where each table in the entry in the array describes an accessory's AssetId, AccessoryType, Order, and (optionally) Puffiness as key-value pairs. This can be edited in the properties windows for the HumanoidDescription.

To make changes from Luau (which is recommended over editing the JSON directly), use HumanoidDescription:SetAccessories() and HumanoidDescription:GetAccessories(). These methods can also be enabled to work with rigid accessories by setting IncludeRigidAccessories parameters to true.

FieldValue
typestring
tags["NotReplicated","NotScriptable"]
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryAccessories
serialization{"can_load":true,"can_save":false}
capabilities["AvatarAppearance"]

HumanoidDescription.BackAccessory

BackAccessory is a comma-separated list of asset IDs that determine what accessories should be added when the description is applied. The list cannot contain duplicates.

An error is thrown if you try to apply a new description which shares any assets with the existing description but a different accessory property.

See also:

FieldValue
typestring
tags["NotReplicated"]
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryAccessories
serialization{"can_load":true,"can_save":false}
capabilities["AvatarAppearance"]

HumanoidDescription.BodyTypeScale

BodyTypeScale determines the factor by which the shape of a Humanoid is interpolated from the standard R15 body shape (0) to a taller and more slender body type (1). Values outside the range of 0 to 1 are clamped. When the description is applied through Humanoid:ApplyDescriptionAsync(), this value maps to a BodyTypeScale NumberValue within the Humanoid.

Note that when the value of this property is 0, the ProportionScale property has no effect.

See Also

FieldValue
typefloat
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryScale
serialization{"can_load":true,"can_save":true}
capabilities["AvatarAppearance"]

HumanoidDescription.ClimbAnimation

When this description is applied to a Humanoid, ClimbAnimation determines the Animation.AnimationId to play when its state is Climbing.

See also:

FieldValue
typeint64
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryAnimation
serialization{"can_load":true,"can_save":true}
capabilities["AvatarAppearance"]

HumanoidDescription.DepthScale

DepthScale determines by what factor the depth (back-to-front distance) of a Humanoid is scaled, as well as all accessories not attached to its head. When the description is applied through Humanoid:ApplyDescriptionAsync(), this value maps to a BodyDepthScale NumberValue within the Humanoid.

See Also

FieldValue
typefloat
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryScale
serialization{"can_load":true,"can_save":true}
capabilities["AvatarAppearance"]

HumanoidDescription.Face

Face determines the asset ID of the Face to be applied to a Humanoid. The type of the asset ID provided must be for a Face type asset and not a Decal or Image type asset.

The actual face texture is rendered using a Decal in the Head named "face" or "Face".

See also:

FieldValue
typeint64
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryBody Parts
serialization{"can_load":true,"can_save":true}
capabilities["AvatarAppearance"]

HumanoidDescription.FaceAccessory

FaceAccessory is a comma-separated list of asset IDs that determine what accessories should be added when the description is applied, usually those attached to the front of its face (such as glasses). The list does not contain duplicates.

An error is thrown if you try to apply a new description which shares any assets with the existing description but a different accessory property.

See also:

FieldValue
typestring
tags["NotReplicated"]
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryAccessories
serialization{"can_load":true,"can_save":false}
capabilities["AvatarAppearance"]

HumanoidDescription.FallAnimation

When this description is applied to a Humanoid, FallAnimation determines the Animation.AnimationId to play when its state is Freefall.

See also:

FieldValue
typeint64
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryAnimation
serialization{"can_load":true,"can_save":true}
capabilities["AvatarAppearance"]

HumanoidDescription.FrontAccessory

FrontAccessory is a comma-separated list of asset IDs that determine what accessories should be added when the description is applied, usually those attached to front of its torso (such as medals or ties). The list does not contain duplicates.

An error is thrown if you try to apply a new description which shares any assets with the existing description but a different accessory property.

See also:

FieldValue
typestring
tags["NotReplicated"]
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryAccessories
serialization{"can_load":true,"can_save":false}
capabilities["AvatarAppearance"]

HumanoidDescription.GraphicTShirt

GraphicTShirt determines the Graphic used by a ShirtGraphic instance when Humanoid:ApplyDescriptionAsync() is called on a Humanoid. The asset type must be for a T‑Shirt, not a Decal or Image.

See Also

FieldValue
typeint64
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryClothes
serialization{"can_load":true,"can_save":true}
capabilities["AvatarAppearance"]

HumanoidDescription.HairAccessory

HairAccessory is a comma-separated list of asset IDs that determine what accessories should be added when the description is applied, usually those attached to its head resembling hair. The list does not contain duplicates.

An error is thrown if you try to apply a new description which shares any assets with the existing description but a different accessory property.

See also:

FieldValue
typestring
tags["NotReplicated"]
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryAccessories
serialization{"can_load":true,"can_save":false}
capabilities["AvatarAppearance"]

HumanoidDescription.HatAccessory

HatAccessory is a comma-separated list of asset IDs that determine what accessories should be added when the description is applied, usually those attached to its head. The list does not contain duplicates.

An error is thrown if you try to apply a new description which shares any assets with the existing description but a different accessory property.

See also:

FieldValue
typestring
tags["NotReplicated"]
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryAccessories
serialization{"can_load":true,"can_save":false}
capabilities["AvatarAppearance"]

HumanoidDescription.Head

Head determines the asset ID of the Head to be applied to a Humanoid.

See also:

FieldValue
typeint64
tags["NotReplicated"]
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryBody Parts
serialization{"can_load":true,"can_save":false}
capabilities["AvatarAppearance"]

HumanoidDescription.HeadColor

HeadColor determines the BodyColors.HeadColor3 and BodyColors.HeadColor of a Humanoid when the description is applied.

See also:

FieldValue
typeColor3
tags["NotReplicated"]
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryBody Colors
serialization{"can_load":true,"can_save":false}
capabilities["AvatarAppearance"]

HumanoidDescription.HeadScale

HeadScale determines by what factor the Head object of a Humanoid is scaled, as well as any accessories attached to it (such as those specified by HatAccessory and HairAccessory). When the description is applied through Humanoid:ApplyDescriptionAsync(), this value maps to a HeadScale NumberValue within the Humanoid.

See Also

FieldValue
typefloat
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryScale
serialization{"can_load":true,"can_save":true}
capabilities["AvatarAppearance"]

HumanoidDescription.HeightScale

HeightScale determines by what factor the height (top-to-bottom distance) of a Humanoid is scaled, as well as all accessories not attached to its head. When the description is applied through Humanoid:ApplyDescriptionAsync(), this value maps to a BodyHeightScale NumberValue within the Humanoid.

See Also

FieldValue
typefloat
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryScale
serialization{"can_load":true,"can_save":true}
capabilities["AvatarAppearance"]

HumanoidDescription.IdleAnimation

When this description is applied to a Humanoid, IdleAnimation determines the Animation.AnimationId to play when its state is Running at a speed near zero.

See also:

FieldValue
typeint64
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryAnimation
serialization{"can_load":true,"can_save":true}
capabilities["AvatarAppearance"]

HumanoidDescription.JumpAnimation

When this description is applied to a Humanoid, JumpAnimation determines the Animation.AnimationId to play when its state is Jumping.

See also:

FieldValue
typeint64
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryAnimation
serialization{"can_load":true,"can_save":true}
capabilities["AvatarAppearance"]

HumanoidDescription.LeftArm

LeftArm determines the asset ID of the LeftArm to be applied to a Humanoid.

See also:

FieldValue
typeint64
tags["NotReplicated"]
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryBody Parts
serialization{"can_load":true,"can_save":false}
capabilities["AvatarAppearance"]

HumanoidDescription.LeftArmColor

LeftArmColor determines the BodyColors.LeftArmColor3 and BodyColors.LeftArmColor of a Humanoid when the description is applied. For R15 and Rthro rigs, this property controls both the upper, lower, and hand parts of the left arm.

See also:

FieldValue
typeColor3
tags["NotReplicated"]
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryBody Colors
serialization{"can_load":true,"can_save":false}
capabilities["AvatarAppearance"]

HumanoidDescription.LeftLeg

LeftLeg determines the asset ID of the LeftLeg to be applied to a Humanoid.

See also:

FieldValue
typeint64
tags["NotReplicated"]
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryBody Parts
serialization{"can_load":true,"can_save":false}
capabilities["AvatarAppearance"]

HumanoidDescription.LeftLegColor

LeftLegColor determines the BodyColors.LeftLegColor3 and BodyColors.LeftLegColor of a Humanoid when the description is applied. For R15 and Rthro rigs, this property controls both the upper, lower, and foot parts of the left leg.

See also:

FieldValue
typeColor3
tags["NotReplicated"]
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryBody Colors
serialization{"can_load":true,"can_save":false}
capabilities["AvatarAppearance"]

HumanoidDescription.MoodAnimation

When this description is applied to a Humanoid, this property sets the asset ID of the mood animation to apply. The asset ID must be for a Mood animation asset. Defaults to 0, in which case the character's face uses its neutral rest pose.

A mood animation applies a static facial pose to a character with a Dynamic Head, giving the face a characteristic expression (such as a smile) that persists while the head is otherwise idle.

See also:

FieldValue
typeint64
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryAnimation
serialization{"can_load":true,"can_save":true}
capabilities["AvatarAppearance"]

HumanoidDescription.NeckAccessory

NeckAccessory is a comma-separated list of asset IDs that determine what accessories should be added when the description is applied, usually those attached to its neck (such as scarves or necklaces). The list does not contain duplicates.

Any accessory can used in this property, even if it is meant to go in a different accessory spot. For example, an accessory meant to go on your back (such as a cape) could be included in HairAccessory. An error is thrown if you try to apply a new description which shares any assets with the existing description but a different accessory property.

See also:

FieldValue
typestring
tags["NotReplicated"]
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryAccessories
serialization{"can_load":true,"can_save":false}
capabilities["AvatarAppearance"]

HumanoidDescription.Pants

Pants determines the PantsTemplate used by a Pants instance when Humanoid:ApplyDescriptionAsync() is called on a Humanoid. The asset type must be for Pants, not a Decal or Image.

See Also

FieldValue
typeint64
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryClothes
serialization{"can_load":true,"can_save":true}
capabilities["AvatarAppearance"]

HumanoidDescription.ProportionScale

ProportionScale determines how wide (0) or narrow (1) a Humanoid rig is. Values outside the range of 0 to 1 are clamped. When the description is applied through Humanoid:ApplyDescriptionAsync(), this value maps to a BodyProportionScale NumberValue within the Humanoid.

Note that when the value of BodyTypeScale is 0, this property has no effect.

See Also

FieldValue
typefloat
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryScale
serialization{"can_load":true,"can_save":true}
capabilities["AvatarAppearance"]

HumanoidDescription.RightArm

RightArm determines the asset ID of the RightArm to be applied to a Humanoid.

See also:

FieldValue
typeint64
tags["NotReplicated"]
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryBody Parts
serialization{"can_load":true,"can_save":false}
capabilities["AvatarAppearance"]

HumanoidDescription.RightArmColor

RightArmColor determines the BodyColors.RightArmColor3 and BodyColors.RightArmColor of a Humanoid when the description is applied. For R15 and Rthro rigs, this property controls both the upper, lower, and hand parts of the right arm.

See also:

FieldValue
typeColor3
tags["NotReplicated"]
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryBody Colors
serialization{"can_load":true,"can_save":false}
capabilities["AvatarAppearance"]

HumanoidDescription.RightLeg

RightLeg determines the asset ID of the RightLeg to be applied to a Humanoid.

See also:

FieldValue
typeint64
tags["NotReplicated"]
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryBody Parts
serialization{"can_load":true,"can_save":false}
capabilities["AvatarAppearance"]

HumanoidDescription.RightLegColor

RightLegColor determines the BodyColors.RightLegColor3 and BodyColors.RightLegColor of a Humanoid when the description is applied. For R15 and Rthro rigs, this property controls both the upper, lower, and foot parts of the right leg.

See also:

FieldValue
typeColor3
tags["NotReplicated"]
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryBody Colors
serialization{"can_load":true,"can_save":false}
capabilities["AvatarAppearance"]

HumanoidDescription.RunAnimation

When this description is applied to a Humanoid, RunAnimation determines the Animation.AnimationId to play when its state is Running at a moderate speed.

See also:

FieldValue
typeint64
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryAnimation
serialization{"can_load":true,"can_save":true}
capabilities["AvatarAppearance"]

HumanoidDescription.Shirt

Shirt determines the ShirtTemplate used by a Shirt instance when Humanoid:ApplyDescriptionAsync() is called on a Humanoid. The asset type must be for Shirt, not a Decal or Image.

See Also

FieldValue
typeint64
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryClothes
serialization{"can_load":true,"can_save":true}
capabilities["AvatarAppearance"]

HumanoidDescription.ShouldersAccessory

ShouldersAccessory is a comma-separated list of asset IDs that determine what accessories should be added when the description is applied, usually those attached to its shoulders (such as shoulder-mounted critters). The list does not contain duplicates.

An error is thrown if you try to apply a new description which shares any assets with the existing description but a different accessory property.

See also:

FieldValue
typestring
tags["NotReplicated"]
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryAccessories
serialization{"can_load":true,"can_save":false}
capabilities["AvatarAppearance"]

HumanoidDescription.StaticFacialAnimation

StaticFacialAnimation controls whether facial animations play when this description is applied to a Humanoid with a Dynamic Head. When set to true, the head displays a static mood pose without any animated facial movement, achieving visual parity with classic face decals.

Even with StaticFacialAnimation set to true, MoodAnimation still applies a static pose to give the face its characteristic expression. Setting StaticFacialAnimation to true is different from setting MoodAnimation to 0, which would result in the Dynamic Head's neutral rest pose.

This is a per-description setting and does not affect other descriptions or the user's avatar globally.

See also:

FieldValue
typeboolean
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryAnimation
serialization{"can_load":true,"can_save":true}
capabilities["AvatarAppearance"]

HumanoidDescription.SwimAnimation

When this description is applied to a Humanoid, SwimAnimation determines the Animation.AnimationId to play when its state is Swimming

See also:

FieldValue
typeint64
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryAnimation
serialization{"can_load":true,"can_save":true}
capabilities["AvatarAppearance"]

HumanoidDescription.Torso

Torso determines the asset ID of the Torso to be applied to a Humanoid.

See also:

FieldValue
typeint64
tags["NotReplicated"]
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryBody Parts
serialization{"can_load":true,"can_save":false}
capabilities["AvatarAppearance"]

HumanoidDescription.TorsoColor

TorsoColor determines the BodyColors.TorsoColor3 and BodyColors.TorsoColor of a Humanoid when the description is applied. For R15 and Rthro rigs, this property controls both the upper and lower parts of the torso.

See also:

FieldValue
typeColor3
tags["NotReplicated"]
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryBody Colors
serialization{"can_load":true,"can_save":false}
capabilities["AvatarAppearance"]

HumanoidDescription.UseAvatarSettings

When true, Humanoid:ApplyDescriptionAsync or Players:CreateHumanoidModelFromDescriptionAsync will also apply the Avatar Settings set for the universe to the model.

FieldValue
typeboolean
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryData
serialization{"can_load":true,"can_save":true}
capabilities["AvatarAppearance"]

HumanoidDescription.WaistAccessory

WaistAccessory is a comma-separated list of asset IDs that determine what accessories should be added when the description is applied, usually those attached to its waist (such as belts). The list does not contain duplicates.

An error is thrown if you try to apply a new description which shares any assets with the existing description but a different accessory property.

See also:

FieldValue
typestring
tags["NotReplicated"]
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryAccessories
serialization{"can_load":true,"can_save":false}
capabilities["AvatarAppearance"]

HumanoidDescription.WalkAnimation

When this description is applied to a Humanoid, WalkAnimation determines the Animation.AnimationId to play when its state is Running at a low speed

See also:

FieldValue
typeint64
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryAnimation
serialization{"can_load":true,"can_save":true}
capabilities["AvatarAppearance"]

HumanoidDescription.WidthScale

WidthScale determines by what factor the width (left-to-right distance) of a Humanoid is scaled, as well as all accessories not attached to its head. When the description is applied through Humanoid:ApplyDescriptionAsync(), this value maps to a BodyWidthScale NumberValue within the Humanoid.

See Also

FieldValue
typefloat
security{"read":"None","write":"None"}
thread safetyReadSafe
categoryScale
serialization{"can_load":true,"can_save":true}
capabilities["AvatarAppearance"]

Methods

NameType / ReturnsDescription
HumanoidDescription:AddEmote()Adds the emote to the description given a name and its asset ID.
HumanoidDescription:GetAccessoriesListReturns a table of an avatar's current accessories.
HumanoidDescription:GetEmotesDictionaryReturns a dictionary of emotes that have been added or set to this description.
HumanoidDescription:GetEquippedEmotesArrayReturns an array of tables describing the equipped emotes that have been set.
HumanoidDescription:RemoveEmote()Removes any emotes that have been added under the given name.
HumanoidDescription:SetAccessories()Accepts a table that sets the accessories and related properties for an avatar.
HumanoidDescription:SetEmotes()Sets all of the emotes on this description.
HumanoidDescription:SetEquippedEmotes()Sets the currently equipped emotes given an array of emote names.

Inherited from Instance

NameType / ReturnsDescription
Instance:AddTag()Applies a tag to the instance.
Instance:childrenInstancesReturns an array of the object's children.
Instance:ClearAllChildren()This method destroys all of an instance's children.
Instance:CloneInstanceCreate a copy of an instance and all its descendants, ignoring instances that are not Archivable.
Instance:cloneInstance
Instance:Destroy()Sets the Instance.Parent property to nil, locks the Instance.Parent property, disconnects all connections, and calls Destroy() on all children.
Instance:destroy()
Instance:FindFirstAncestorInstance?Returns the first ancestor of the Instance whose Instance.Name is equal to the given name.
Instance:FindFirstAncestorOfClassInstance?Returns the first ancestor of the Instance whose Object.ClassName is equal to the given className.
Instance:FindFirstAncestorWhichIsAInstance?Returns the first ancestor of the Instance for whom Object:IsA() returns true for the given className.
Instance:FindFirstChildInstance?Returns the first child of the Instance found with the given name.
Instance:findFirstChildInstance
Instance:FindFirstChildOfClassInstance?Returns the first child of the Instance whose ClassName is equal to the given class name.
Instance:FindFirstChildWhichIsAInstance?Returns the first child of the Instance for whom Object:IsA() returns true for the given className.
Instance:FindFirstDescendantInstance?Returns the first descendant found with the given Instance.Name.
Instance:GetActorActor?Returns the Actor associated with the Instance, if any.
Instance:GetAttributeVariantReturns the value which has been assigned to the given attribute name.
Instance:GetAttributeChangedSignalRBXScriptSignalReturns an event that fires when the given attribute changes.
Instance:GetAttributesDictionaryReturns a dictionary of the instance's attributes.
Instance:GetChildrenInstancesReturns an array containing all of the instance's children.
Instance:getChildrenInstances
Instance:GetDebugIdstringReturns a coded string of the debug ID used internally by Roblox.
Instance:GetDescendantsInstancesReturns an array containing all of the descendants of the instance.
Instance:GetFullNamestringReturns a string describing the instance's ancestry.
Instance:GetStyledVariantReturns the styled or explicitly modified value of the specified property, or else the default property value if it hasn't been styled/modified.
Instance:GetStyledPropertyChangedSignalRBXScriptSignalReturns an event that fires when the given style property changes on the instance.
Instance:GetTagsArrayGets an array of all tags applied to the instance.
Instance:HasTagbooleanCheck whether the instance has a given tag.
Instance:IsAncestorOfbooleanReturns true if an Instance is an ancestor of the given descendant.
Instance:IsDescendantOfbooleanReturns true if an Instance is a descendant of the given ancestor.
Instance:isDescendantOfboolean
Instance:IsPropertyModifiedbooleanReturns true if the value stored in the specified property is not equal to the code-instantiated default.
Instance:QueryDescendantsInstancesReturns an array containing all descendants of the instance that match the selector string.
Instance:Remove()Sets the object's Parent to nil, and does the same for all its descendants.
Instance:remove()
Instance:RemoveTag()Removes a tag from the instance.
Instance:ResetPropertyToDefault()Resets a property to its default value.
Instance:SetAttribute()Sets the attribute with the given name to the given value.
Instance:WaitForChildInstanceReturns the child of the Instance with the given name. If the child does not exist, it will yield the current thread until it does.

Inherited from Object

NameType / ReturnsDescription
Object:GetPropertyChangedSignalRBXScriptSignalGet an event that fires when a given property of the object changes.
Object:IsAbooleanReturns true if an object's class matches or inherits from a given class.
Object:isAboolean

HumanoidDescription:AddEmote

AddEmote will add an Emote asset to the description given a name and its asset ID. The asset ID must be for an "Emote" asset (see Featured emotes in the Catalog).

You can add multiple emotes of the same name. All emotes of the same name can be removed using RemoveEmote. If an emote with the same ID is added under the same name, EmotesChanged fires.

See also:

Parameters

NameTypeDefaultDescription
namestringA string that identifies what emote is being added. Example: "Salute".
assetIdint64An emote asset ID.

Returns

TypeDescription
()
FieldValue
securityNone
thread safetyUnsafe
capabilities["AvatarAppearance"]

HumanoidDescription:GetAccessories

Returns a table of an avatar's current accessories. If the second parameter (includeRigidAccessories) is true then the returned table will also include entries for rigid accessories from the rigid accessory properties.

Parameters

NameTypeDefaultDescription
includeRigidAccessoriesbooleanSet to true if rigid accessories from the rigid accessory properties should also be included in the return array. False means only include layered clothing accessories from the AccessoryBlob.

Returns

TypeDescription
ListReturns an array where each entry specifies for an individual accessory the AccessoryType, AssetId, IsLayered, Order and Puffiness.
FieldValue
securityNone
thread safetyUnsafe
capabilities["AvatarAppearance"]

Code samples: View on Creator Hub (get-accessories).

HumanoidDescription:GetEmotes

GetEmotes returns a dictionary of emotes that have been added or set to this description. The keys of this dictionary are the names of the emotes, and the values are a non-empty array of emote IDs for that name.

Example

local hd = Instance.new("HumanoidDescription")
hd:AddEmote("Salute", 3360689775)
local emotes = hd:GetEmotes()
for name, ids in emotes do
    print(("The emote %s has %d ids:"):format(name, #ids))
    for _, id in ids do
        print(id)
    end
end

See also:

Returns

TypeDescription
DictionaryA dictionary of emotes where the key is the emote name and the value is an array of emote asset IDs. Example: lua { Salute = {3360689775}, Agree = {4849487550}, Disagree = {4849495710} } .
FieldValue
securityNone
thread safetyUnsafe
capabilities["AvatarAppearance"]

HumanoidDescription:GetEquippedEmotes

GetEquippedEmotes returns an array of tables which indicate the Name and Slot of each equipped emote as it was set by SetEquippedEmotes.

Example

local hd = Instance.new("HumanoidDescription")
hd:SetEmotes({Salute = {3360689775}, Agree = {4849487550}})
hd:SetEquippedEmotes({"Salute", "Agree"})
-- Iterate over the equipped emotes:
for _, t in hd:GetEquippedEmotes() do
    print(("In slot %d: emote %s is equipped"):format(t.Slot, t.Name))
end

See also:

Returns

TypeDescription
ArrayAn array of tables describing the name and slot which each emote is equipped. Example: lua { {Slot = 3, Name = "Salute"}, {Slot = 2, Name = "Agree"}, {Slot = 1, Name = "Disagree"}, } .
FieldValue
securityNone
thread safetyUnsafe
capabilities["AvatarAppearance"]

HumanoidDescription:RemoveEmote

RemoveEmote removes all emotes from the description that have been added or set under the given name. If there are no added emotes with the given name, no error is thrown and EmotesChanged does not fire.

See also:

Parameters

NameTypeDefaultDescription
namestringThe name of the emote as it was set or added.

Returns

TypeDescription
()
FieldValue
securityNone
thread safetyUnsafe
capabilities["AvatarAppearance"]

HumanoidDescription:SetAccessories

Accepts a table that sets the accessories and related properties for an avatar. If the second parameter (includeRigidAccessories) is true, then this function can also be used to set the rigid accessories in the rigid accessory properties. In this case any table entry that does not have an Order will be considered a rigid accessory and put in the appropriate property according to the AccessoryType.

Parameters

NameTypeDefaultDescription
accessoriesArrayEach entry specifies for an individual accessory the AccessoryType, AssetId, IsLayered, Order and Puffiness.
includeRigidAccessoriesbooleanSet to true if rigid accessories are also included in the passed in array (they would have to not specify Order).

Returns

TypeDescription
()
FieldValue
securityNone
thread safetyUnsafe
capabilities["AvatarAppearance"]

Code samples: View on Creator Hub (set-accessories).

HumanoidDescription:SetEmotes

SetEmotes sets all of the emotes on this description given a table similar to that returned by GetEmotes. It fires EmotesChanged

Example

local emotes = {
    Salute = {3360689775}, -- Syntax note: can also use ["Salute"] = ...
    Agree = {4849487550},
    Disagree = {4849495710}
}
local hd = Instance.new("HumanoidDescription")
hd:SetEmotes(emotes)

See also:

Parameters

NameTypeDefaultDescription
emotesDictionaryA dictionary of emotes where the key is the emote name and the value is an array of emote asset IDs. Example: lua { Salute = {3360689775}, Agree = {4849487550}, Disagree = {4849495710} } .

Returns

TypeDescription
()
FieldValue
securityNone
thread safetyUnsafe
capabilities["AvatarAppearance"]

HumanoidDescription:SetEquippedEmotes

SetEquippedEmotes sets the currently equipped emotes given an array of emote names as they were passed to AddEmote or SetEmotes. It can also take an array of tables similar to that returned by GetEquippedEmotes. Calling this function fires EquippedEmotesChanged.

Example

local hd = Instance.new("HumanoidDescription")
hd:SetEmotes({Salute = {3360689775}, Agree = {4849487550}})
-- Can provide either an array of strings... (index is slot number)
hd:SetEquippedEmotes({"Salute", "Agree"})
-- ...or an array of tables as returned by GetEquippedEmotes (Slot and Name keys set)
hd:SetEquippedEmotes({{Slot = 1, Name = "Salute"}, {Slot = 2, Name = "Agree"}})

See also:

Parameters

NameTypeDefaultDescription
equippedEmotesArrayAn array of emote names. Example: lua { "Disagree", "Agree", "Salute" } – OR – An array of tables describing the name and slot which each emote is equipped. Example: lua { {Slot = 3, Name = "Salute"}, {Slot = 2, Name = "Agree"}, {Slot = 1, Name = "Disagree"}, } .

Returns

TypeDescription
()
FieldValue
securityNone
thread safetyUnsafe
capabilities["AvatarAppearance"]

Events

NameType / ReturnsDescription
HumanoidDescription.EmotesChangedFires when emotes are added, removed or set on this description.
HumanoidDescription.EquippedEmotesChangedFires when the equipped emotes are set on this description.

Inherited from Instance

NameType / ReturnsDescription
Instance.AncestryChangedFires when the Instance.Parent property of this object or one of its ancestors is changed.
Instance.AttributeChangedFires whenever an attribute is changed on the Instance.
Instance.ChildAddedFires after an object is parented to this Instance.
Instance.childAdded
Instance.ChildRemovedFires after a child is removed from this Instance.
Instance.DescendantAddedFires after a descendant is added to the Instance.
Instance.DescendantRemovingFires immediately before a descendant of the Instance is removed.
Instance.DestroyingFires immediately before (or is deferred until after) the instance is destroyed via Instance:Destroy().
Instance.StyledPropertiesChangedFires whenever any style property is changed on the instance, including when a property is set to nil.

Inherited from Object

NameType / ReturnsDescription
Object.ChangedFires immediately after a property of the object changes, with some limitations.

HumanoidDescription.EmotesChanged

EmotesChanged fires when emotes are added, removed or set on the description. The event fires with the new emote table as returned by GetEmotes.

If AddEmote is called with the same name and ID as an existing emote, this event fires.

See also:

Parameters

NameTypeDefaultDescription
newEmotesDictionaryA dictionary of emotes where the key is the emote name and the value is an array of emote asset IDs. Example: lua { Salute = {3360689775}, Agree = {4849487550}, Disagree = {4849495710} } .
FieldValue
securityNone
capabilities["AvatarAppearance"]

HumanoidDescription.EquippedEmotesChanged

EquippedEmotesChanged fires when the equipped emotes are set on this description using SetEquippedEmotes. It provides the new equipped emotes in a table like that returned by GetEquippedEmotes.

Example

local hd = Instance.new("HumanoidDescription")
hd.EquippedEmotesChanged:Connect(function(equippedEmotes)
    print(("We have %d emotes equipped"):format(#equippedEmotes))
    for _, t in equippedEmotes do
        print(("In slot %d: emote %s is equipped"):format(t.Slot, t.Name))
    end
end)
hd:SetEquippedEmotes({"Salute", "Agree"}) --> We have 2 emotes equipped

See also:

Parameters

NameTypeDefaultDescription
newEquippedEmotesArrayAn array of tables describing the name and slot which each emote is equipped. Example: lua { {Slot = 3, Name = "Salute"}, {Slot = 2, Name = "Agree"}, {Slot = 1, Name = "Disagree"}, } .
FieldValue
securityNone
capabilities["AvatarAppearance"]