# This file is automatically generated. Please don't edit it manually. # To submit a bug report on the content, see # https://devforum.roblox.com/c/bug-reports/documentation-issues/72 name: HumanoidDescription type: class memory_category: Instances summary: | Describes the appearance of a Humanoid character including body parts, accessories, colors, scales, animations, and emotes. description: | **HumanoidDescription** is an object that stores a description of a `Class.Humanoid` for R6 and R15 rigs. It can be `Class.Humanoid:ApplyDescriptionAsync()|applied` in order to set a rig's scaling, clothing (`Class.Shirt`, `Class.Pants`, `Class.ShirtGraphic`), `Class.Accessory|Accessories`, `Class.Animation|Animations` and `Class.BodyColors`. You can get a HumanoidDescription by using the following functions: - `Class.Players:GetHumanoidDescriptionFromUserIdAsync()`, for an outfit currently being worn by a user on Roblox. - `Class.Players:GetHumanoidDescriptionFromOutfitIdAsync()`, for an outfit created by a user on Roblox. - You can create a Humanoid rig model from a HumanoidDescription through `Class.Players:CreateHumanoidModelFromDescriptionAsync()`. See also: - [HumanoidDescription System](../../../characters/appearance.md#humanoiddescription), for more information on `Class.HumanoidDescription`. code_samples: [] inherits: - Instance descendants: [] tags: [] deprecation_message: '' properties: - name: HumanoidDescription.AccessoryBlob summary: | 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. description: | 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 `Class.HumanoidDescription`. To make changes from Luau (which is recommended over editing the JSON directly), use `Class.HumanoidDescription:SetAccessories()` and `Class.HumanoidDescription:GetAccessories()`. These methods can also be enabled to work with rigid accessories by setting IncludeRigidAccessories parameters to true. code_samples: [] type: string tags: - NotReplicated - NotScriptable deprecation_message: '' security: read: None write: None thread_safety: ReadSafe category: Accessories serialization: can_load: true can_save: false capabilities: - Avatar - name: HumanoidDescription.BackAccessory summary: | A comma-separated list of asset IDs that will be added as `Class.Accessory|Accessories` to a `Class.Humanoid` rig when `Class.Humanoid:ApplyDescriptionAsync()|applied`, usually those attached to its back (such as capes). description: | **BackAccessory** is a comma-separated list of asset IDs that determine what accessories should be added when the description is `Class.Humanoid:ApplyDescriptionAsync()|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: - [HumanoidDescription System](../../../characters/appearance.md#humanoiddescription), for more information on `Class.HumanoidDescription`. - `Class.HumanoidDescription.FaceAccessory|FaceAccessory`, `Class.HumanoidDescription.FrontAccessory|FrontAccessory`, `Class.HumanoidDescription.HairAccessory|HairAccessory`, `Class.HumanoidDescription.HatAccessory|HatAccessory`, `Class.HumanoidDescription.NeckAccessory|NeckAccessory`, `Class.HumanoidDescription.ShouldersAccessory|ShouldersAccessory` and `Class.HumanoidDescription.WaistAccessory|WaistAccessory`, which are similar properties that apply accessories like this one code_samples: [] type: string tags: - NotReplicated deprecation_message: '' security: read: None write: None thread_safety: ReadSafe category: Accessories serialization: can_load: true can_save: false capabilities: - Avatar - name: HumanoidDescription.BodyTypeScale summary: | Determines the factor by which the shape of a `Class.Humanoid` is interpolated from the standard R15 body shape (0) to a taller and more slender body type (1). description: | **BodyTypeScale** determines the factor by which the shape of a `Class.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 `Class.Humanoid:ApplyDescriptionAsync()`, this value maps to a **BodyTypeScale** `Class.NumberValue` within the `Class.Humanoid`. Note that when the value of this property is 0, the `Class.HumanoidDescription.ProportionScale|ProportionScale` property has no effect. #### See Also - [HumanoidDescription System](../../../characters/appearance.md#humanoiddescription), for more information on `Class.HumanoidDescription`. - `Class.HumanoidDescription.ProportionScale|ProportionScale`, which also affects rig proportions when this property is non-zero - `Class.HumanoidDescription.HeightScale|WidthScale`, `Class.HumanoidDescription.DepthScale|HeightScale` and `Class.HumanoidDescription.DepthScale|DepthScale`, which provide finer control over the dimensions of a rig - `Class.HumanoidDescription.HeadScale|HeadScale`, which provides specific control over the scale of the rig's head code_samples: [] type: float tags: [] deprecation_message: '' security: read: None write: None thread_safety: ReadSafe category: Scale serialization: can_load: true can_save: true capabilities: - Avatar - name: HumanoidDescription.ClimbAnimation summary: | When this description is `Class.Humanoid:ApplyDescriptionAsync()|applied` to a `Class.Humanoid`, this determines the `Class.Animation.AnimationId` to play when its `Class.Humanoid:GetState()|state` is `Enum.HumanoidStateType|Climbing`. description: | When this description is `Class.Humanoid:ApplyDescriptionAsync()|applied` to a `Class.Humanoid`, **ClimbAnimation** determines the `Class.Animation.AnimationId` to play when its `Class.Humanoid:GetState()|state` is `Enum.HumanoidStateType|Climbing`. See also: - `Class.HumanoidDescription.FallAnimation|FallAnimation`, `Class.HumanoidDescription.IdleAnimation|IdleAnimation`, `Class.HumanoidDescription.JumpAnimation|JumpAnimation`, `Class.HumanoidDescription.RunAnimation|RunAnimation`, `Class.HumanoidDescription.SwimAnimation|SwimAnimation` and `Class.HumanoidDescription.WalkAnimation|WalkAnimation`, which are similar properties that determine animations to play on the rig code_samples: [] type: int64 tags: [] deprecation_message: '' security: read: None write: None thread_safety: ReadSafe category: Animation serialization: can_load: true can_save: true capabilities: - Avatar - name: HumanoidDescription.DepthScale summary: | Determines by what factor the depth (back-to-front distance) of a `Class.Humanoid` is scaled. description: | **DepthScale** determines by what factor the depth (back-to-front distance) of a `Class.Humanoid` is scaled, as well as all accessories not attached to its head. When the description is applied through `Class.Humanoid:ApplyDescriptionAsync()`, this value maps to a **BodyDepthScale** `Class.NumberValue` within the Humanoid. #### See Also - [HumanoidDescription System](../../../characters/appearance.md#humanoiddescription), for more information on `Class.HumanoidDescription`. - `Class.HumanoidDescription.BodyTypeScale|BodyTypeScale` and `Class.HumanoidDescription.ProportionScale|ProportionScale`, which can provide more realistic rig proportions - `Class.HumanoidDescription.HeightScale|WidthScale` and `Class.HumanoidDescription.DepthScale|HeightScale` code_samples: [] type: float tags: [] deprecation_message: '' security: read: None write: None thread_safety: ReadSafe category: Scale serialization: can_load: true can_save: true capabilities: - Avatar - name: HumanoidDescription.Face summary: | Determines the asset ID of the Face to be applied to the `Class.Humanoid`. description: | **Face** determines the asset ID of the Face to be `Class.Humanoid:ApplyDescriptionAsync()|applied` to a `Class.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 `Class.Decal` in the Head named "face" or "Face". See also: - [HumanoidDescription System](../../../characters/appearance.md#humanoiddescription), for more information on `Class.HumanoidDescription`. - `Class.HumanoidDescription.GraphicTShirt|GraphicTShirt`, `Class.HumanoidDescription.Shirt|Shirt` and `Class.HumanoidDescription.Pants|Pants`, which also apply textures to a rig - `Class.HumanoidDescription.Head|Head`, which can change the mesh of the head - `Class.HumanoidDescription.FaceAccessory|FaceAccessory`, which can apply one or more `Class.Accessory` objects to the face code_samples: [] type: int64 tags: [] deprecation_message: '' security: read: None write: None thread_safety: ReadSafe category: Body Parts serialization: can_load: true can_save: true capabilities: - Avatar - name: HumanoidDescription.FaceAccessory summary: | A comma-separated list of asset IDs that will be added as `Class.Accessory|Accessories` to a `Class.Humanoid` rig when `Class.Humanoid:ApplyDescriptionAsync()|applied`, usually those attached to the front of its face (such as glasses). description: | **FaceAccessory** is a comma-separated list of asset IDs that determine what accessories should be added when the description is `Class.Humanoid:ApplyDescriptionAsync()|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: - [HumanoidDescription System](../../../characters/appearance.md#humanoiddescription), for more information on `Class.HumanoidDescription`. - `Class.HumanoidDescription.BackAccessory|BackAccessory`, `Class.HumanoidDescription.FrontAccessory|FrontAccessory`, `Class.HumanoidDescription.HairAccessory|HairAccessory`, `Class.HumanoidDescription.HatAccessory|HatAccessory`, `Class.HumanoidDescription.NeckAccessory|NeckAccessory`, `Class.HumanoidDescription.ShouldersAccessory|ShouldersAccessory` and `Class.HumanoidDescription.WaistAccessory|WaistAccessory`, which are similar properties that apply accessories like this one - `Class.HumanoidDescription.Face|Face`, a property that determines what Face texture is used on the head code_samples: [] type: string tags: - NotReplicated deprecation_message: '' security: read: None write: None thread_safety: ReadSafe category: Accessories serialization: can_load: true can_save: false capabilities: - Avatar - name: HumanoidDescription.FallAnimation summary: | When this description is `Class.Humanoid:ApplyDescriptionAsync()|applied` to a `Class.Humanoid`, this determines the `Class.Animation.AnimationId` to play when its `Class.Humanoid:GetState()|state` is `Enum.HumanoidStateType|Freefall`. description: | When this description is `Class.Humanoid:ApplyDescriptionAsync()|applied` to a `Class.Humanoid`, **FallAnimation** determines the `Class.Animation.AnimationId` to play when its `Class.Humanoid:GetState()|state` is `Enum.HumanoidStateType|Freefall`. See also: - [HumanoidDescription System](../../../characters/appearance.md#humanoiddescription), for more information on `Class.HumanoidDescription`. - `Class.HumanoidDescription.FallAnimation|ClimbAnimation`, `Class.HumanoidDescription.IdleAnimation|IdleAnimation`, `Class.HumanoidDescription.JumpAnimation|JumpAnimation`, `Class.HumanoidDescription.RunAnimation|RunAnimation`, `Class.HumanoidDescription.SwimAnimation|SwimAnimation` and `Class.HumanoidDescription.WalkAnimation|WalkAnimation`, which are similar properties that determine animations to play on the rig code_samples: [] type: int64 tags: [] deprecation_message: '' security: read: None write: None thread_safety: ReadSafe category: Animation serialization: can_load: true can_save: true capabilities: - Avatar - name: HumanoidDescription.FrontAccessory summary: | A comma-separated list of asset IDs that will be added as `Class.Accessory|Accessories` to a `Class.Humanoid` rig when `Class.Humanoid:ApplyDescriptionAsync()|applied`, usually those attached to front of its torso (such as medals or ties). description: | **FrontAccessory** is a comma-separated list of asset IDs that determine what accessories should be added when the description is `Class.Humanoid:ApplyDescriptionAsync()|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: - [HumanoidDescription System](../../../characters/appearance.md#humanoiddescription), for more information on `Class.HumanoidDescription`. - `Class.HumanoidDescription.BackAccessory|BackAccessory`, `Class.HumanoidDescription.FaceAccessory|FaceAccessory`, `Class.HumanoidDescription.HairAccessory|HairAccessory`, `Class.HumanoidDescription.HatAccessory|HatAccessory`, `Class.HumanoidDescription.NeckAccessory|NeckAccessory`, `Class.HumanoidDescription.ShouldersAccessory|ShouldersAccessory` and `Class.HumanoidDescription.WaistAccessory|WaistAccessory`, which are similar properties that apply accessories like this one code_samples: [] type: string tags: - NotReplicated deprecation_message: '' security: read: None write: None thread_safety: ReadSafe category: Accessories serialization: can_load: true can_save: false capabilities: - Avatar - name: HumanoidDescription.GraphicTShirt summary: | Determines the `Class.ShirtGraphic.Graphic|Graphic` used by a `Class.ShirtGraphic`. description: | **GraphicTShirt** determines the `Class.ShirtGraphic.Graphic|Graphic` used by a `Class.ShirtGraphic` instance when `Class.Humanoid:ApplyDescriptionAsync()` is called on a `Class.Humanoid`. The asset type must be for a **T‑Shirt**, not a **Decal** or **Image**. #### See Also - [HumanoidDescription System](../../../characters/appearance.md#humanoiddescription), for more information on `Class.HumanoidDescription`. - `Class.HumanoidDescription.Shirt|Shirt`, which can provide the same functionality in addition to providing textures for the entire torso and arms - `Class.HumanoidDescription.TorsoColor|TorsoColor`, which can change the color of the torso underneath the t-shirt texture code_samples: [] type: int64 tags: [] deprecation_message: '' security: read: None write: None thread_safety: ReadSafe category: Clothes serialization: can_load: true can_save: true capabilities: - Avatar - name: HumanoidDescription.HairAccessory summary: | A comma-separated list of asset IDs that will be added as `Class.Accessory|Accessories` to a `Class.Humanoid` rig when `Class.Humanoid:ApplyDescriptionAsync()|applied`, usually those attached to its head resembling hair. description: | **HairAccessory** is a comma-separated list of asset IDs that determine what accessories should be added when the description is `Class.Humanoid:ApplyDescriptionAsync()|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: - [HumanoidDescription System](../../../characters/appearance.md#humanoiddescription), for more information on `Class.HumanoidDescription`. - `Class.HumanoidDescription.BackAccessory|BackAccessory`, `Class.HumanoidDescription.FaceAccessory|FaceAccessory`, `Class.HumanoidDescription.FrontAccessory|FrontAccessory`, `Class.HumanoidDescription.HatAccessory|HatAccessory`, `Class.HumanoidDescription.NeckAccessory|NeckAccessory`, `Class.HumanoidDescription.ShouldersAccessory|ShouldersAccessory` and `Class.HumanoidDescription.WaistAccessory|WaistAccessory`, which are similar properties that apply accessories like this one code_samples: [] type: string tags: - NotReplicated deprecation_message: '' security: read: None write: None thread_safety: ReadSafe category: Accessories serialization: can_load: true can_save: false capabilities: - Avatar - name: HumanoidDescription.HatAccessory summary: | A comma-separated list of asset IDs that will be added as `Class.Accessory|Accessories` to a `Class.Humanoid` rig when `Class.Humanoid:ApplyDescriptionAsync()|applied`, usually those attached to its head. description: | **HatAccessory** is a comma-separated list of asset IDs that determine what accessories should be added when the description is `Class.Humanoid:ApplyDescriptionAsync()|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: - [HumanoidDescription System](../../../characters/appearance.md#humanoiddescription), for more information on `Class.HumanoidDescription`. - `Class.HumanoidDescription.BackAccessory|BackAccessory`, `Class.HumanoidDescription.FaceAccessory|FaceAccessory`, `Class.HumanoidDescription.FrontAccessory|FrontAccessory`, `Class.HumanoidDescription.HairAccessory|HairAccessory`, `Class.HumanoidDescription.NeckAccessory|NeckAccessory`, `Class.HumanoidDescription.ShouldersAccessory|ShouldersAccessory` and `Class.HumanoidDescription.WaistAccessory|WaistAccessory`, which are similar properties that apply accessories like this one code_samples: [] type: string tags: - NotReplicated deprecation_message: '' security: read: None write: None thread_safety: ReadSafe category: Accessories serialization: can_load: true can_save: false capabilities: - Avatar - name: HumanoidDescription.Head summary: | Determines the asset ID of the Head to be applied to the `Class.Humanoid`. description: | **Head** determines the asset ID of the Head to be `Class.Humanoid:ApplyDescriptionAsync()|applied` to a `Class.Humanoid`. See also: - [HumanoidDescription System](../../../characters/appearance.md#humanoiddescription), for more information on `Class.HumanoidDescription`. - `Class.HumanoidDescription.Torso|Torso`, `Class.HumanoidDescription.RightArm|RightArm`, `Class.HumanoidDescription.LeftArm|LeftArm`, `Class.HumanoidDescription.RightLeg|RightLeg` and `Class.HumanoidDescription.LeftLeg|LeftLeg`, which are similar properties that also control body part - `Class.HumanoidDescription.HeadColor|HeadColor`, which controls the color of this limb - `Class.HumanoidDescription.HatAccessory|HatAccessory`, `Class.HumanoidDescription.HairAccessory|HairAccessory` and `Class.HumanoidDescription.FaceAccessory|FaceAccessory`, which all can apply `Class.Accessory` objects which are joined to the head code_samples: [] type: int64 tags: - NotReplicated deprecation_message: '' security: read: None write: None thread_safety: ReadSafe category: Body Parts serialization: can_load: true can_save: false capabilities: - Avatar - name: HumanoidDescription.HeadColor summary: | Determines the `Class.BodyColors.HeadColor3` and `Class.BodyColors.HeadColor` of a `Class.Humanoid` when `Class.Humanoid:ApplyDescriptionAsync()|applied`. description: | **HeadColor** determines the `Class.BodyColors.HeadColor3` and `Class.BodyColors.HeadColor` of a `Class.Humanoid` when the description is `Class.Humanoid:ApplyDescriptionAsync()|applied`. See also: - [HumanoidDescription System](../../../characters/appearance.md#humanoiddescription), for more information on `Class.HumanoidDescription`. - `Class.HumanoidDescription.TorsoColor|TorsoColor`, `Class.HumanoidDescription.LeftArmColor|LeftArmColor`, `Class.HumanoidDescription.RightArmColor|RightArmColor`, `Class.HumanoidDescription.LeftLegColor|LeftLegColor`, and `Class.HumanoidDescription.RightLegColor|RightLegColor`, which are similar properties that also control body colors - `Class.HumanoidDescription.Head|Head`, which controls the mesh used for the head - `Class.HumanoidDescription.Face|Face`, which applies a texture to the front of the head code_samples: [] type: Color3 tags: - NotReplicated deprecation_message: '' security: read: None write: None thread_safety: ReadSafe category: Body Colors serialization: can_load: true can_save: false capabilities: - Avatar - name: HumanoidDescription.HeadScale summary: | Determines by what factor the **Head** object of a `Class.Humanoid` is scaled, as well as any accessories attached to it. description: | **HeadScale** determines by what factor the **Head** object of a `Class.Humanoid` is scaled, as well as any accessories attached to it (such as those specified by `Class.HumanoidDescription.HatAccessory|HatAccessory` and `Class.HumanoidDescription.HairAccessory|HairAccessory`). When the description is applied through `Class.Humanoid:ApplyDescriptionAsync()`, this value maps to a **HeadScale** `Class.NumberValue` within the `Class.Humanoid`. #### See Also - [HumanoidDescription System](../../../characters/appearance.md#humanoiddescription), for more information on `Class.HumanoidDescription`. - `Class.HumanoidDescription.BodyTypeScale|BodyTypeScale` and `Class.HumanoidDescription.ProportionScale|ProportionScale`, which can provide realistic rig proportions - `Class.HumanoidDescription.HeightScale|WidthScale`, `Class.HumanoidDescription.DepthScale|HeightScale` and `Class.HumanoidDescription.DepthScale|DepthScale`, which provide finer control over other dimensions of a rig code_samples: [] type: float tags: [] deprecation_message: '' security: read: None write: None thread_safety: ReadSafe category: Scale serialization: can_load: true can_save: true capabilities: - Avatar - name: HumanoidDescription.HeightScale summary: | Determines by what factor the height (top-to-bottom distance) of a `Class.Humanoid` is scaled, as well as all accessories not attached to its head. description: | **HeightScale** determines by what factor the height (top-to-bottom distance) of a `Class.Humanoid` is scaled, as well as all accessories not attached to its head. When the description is applied through `Class.Humanoid:ApplyDescriptionAsync()`, this value maps to a **BodyHeightScale** `Class.NumberValue` within the `Class.Humanoid`. #### See Also - [HumanoidDescription System](../../../characters/appearance.md#humanoiddescription), for more information on `Class.HumanoidDescription`. - `Class.HumanoidDescription.BodyTypeScale|BodyTypeScale` and `Class.HumanoidDescription.ProportionScale|ProportionScale`, which can provide more realistic rig proportions - `Class.HumanoidDescription.HeightScale|WidthScale` and `Class.HumanoidDescription.DepthScale|DepthScale` code_samples: [] type: float tags: [] deprecation_message: '' security: read: None write: None thread_safety: ReadSafe category: Scale serialization: can_load: true can_save: true capabilities: - Avatar - name: HumanoidDescription.IdleAnimation summary: | When this description is `Class.Humanoid:ApplyDescriptionAsync()|applied` to a `Class.Humanoid`, this determines the `Class.Animation.AnimationId` to play when its `Class.Humanoid:GetState()|state` is `Enum.HumanoidStateType|Running` at a speed near zero. description: | When this description is `Class.Humanoid:ApplyDescriptionAsync()|applied` to a `Class.Humanoid`, **IdleAnimation** determines the `Class.Animation.AnimationId` to play when its `Class.Humanoid:GetState()|state` is `Enum.HumanoidStateType|Running` at a speed near zero. See also: - [HumanoidDescription System](../../../characters/appearance.md#humanoiddescription), for more information on `Class.HumanoidDescription`. - `Class.HumanoidDescription.FallAnimation|ClimbAnimation`, `Class.HumanoidDescription.FallAnimation|FallAnimation`, `Class.HumanoidDescription.JumpAnimation|JumpAnimation`, `Class.HumanoidDescription.RunAnimation|RunAnimation`, `Class.HumanoidDescription.SwimAnimation|SwimAnimation` and `Class.HumanoidDescription.WalkAnimation|WalkAnimation`, which are similar properties that determine animations to play on the rig code_samples: [] type: int64 tags: [] deprecation_message: '' security: read: None write: None thread_safety: ReadSafe category: Animation serialization: can_load: true can_save: true capabilities: - Avatar - name: HumanoidDescription.JumpAnimation summary: | When this description is `Class.Humanoid:ApplyDescriptionAsync()|applied` to a `Class.Humanoid`, this determines the `Class.Animation.AnimationId` to play when its `Class.Humanoid:GetState()|state` is `Enum.HumanoidStateType|Jumping`. description: | When this description is `Class.Humanoid:ApplyDescriptionAsync()|applied` to a `Class.Humanoid`, **JumpAnimation** determines the `Class.Animation.AnimationId` to play when its `Class.Humanoid:GetState()|state` is `Enum.HumanoidStateType|Jumping`. See also: - [HumanoidDescription System](../../../characters/appearance.md#humanoiddescription), for more information on `Class.HumanoidDescription`. - `Class.HumanoidDescription.FallAnimation|ClimbAnimation`, `Class.HumanoidDescription.FallAnimation|FallAnimation`, `Class.HumanoidDescription.IdleAnimation|IdleAnimation`, `Class.HumanoidDescription.RunAnimation|RunAnimation`, `Class.HumanoidDescription.SwimAnimation|SwimAnimation` and `Class.HumanoidDescription.WalkAnimation|WalkAnimation`, which are similar properties that determine animations to play on the rig code_samples: [] type: int64 tags: [] deprecation_message: '' security: read: None write: None thread_safety: ReadSafe category: Animation serialization: can_load: true can_save: true capabilities: - Avatar - name: HumanoidDescription.LeftArm summary: | Determines the asset ID of the LeftArm to be applied to the `Class.Humanoid`. description: | **LeftArm** determines the asset ID of the LeftArm to be `Class.Humanoid:ApplyDescriptionAsync()|applied` to a `Class.Humanoid`. See also: - [HumanoidDescription System](../../../characters/appearance.md#humanoiddescription), for more information on `Class.HumanoidDescription`. - `Class.HumanoidDescription.Head|Head`, `Class.HumanoidDescription.Torso|Torso`, `Class.HumanoidDescription.RightArm|RightArm`, `Class.HumanoidDescription.RightLeg|RightLeg` and `Class.HumanoidDescription.LeftLeg|LeftLeg`, which are similar properties that also control body part - `Class.HumanoidDescription.LeftArmColor|LeftArmColor`, which controls the color of this limb code_samples: [] type: int64 tags: - NotReplicated deprecation_message: '' security: read: None write: None thread_safety: ReadSafe category: Body Parts serialization: can_load: true can_save: false capabilities: - Avatar - name: HumanoidDescription.LeftArmColor summary: | Determines the `Class.BodyColors.LeftArmColor3` and `Class.BodyColors.LeftArmColor` of a `Class.Humanoid` when applied. description: | **LeftArmColor** determines the `Class.BodyColors.LeftArmColor3` and `Class.BodyColors.LeftArmColor` of a `Class.Humanoid` when the description is `Class.Humanoid:ApplyDescriptionAsync()|applied`. For R15 and Rthro rigs, this property controls both the upper, lower, and hand parts of the left arm. See also: - [HumanoidDescription System](../../../characters/appearance.md#humanoiddescription), for more information on `Class.HumanoidDescription`. - `Class.HumanoidDescription.HeadColor|HeadColor`, `Class.HumanoidDescription.TorsoColor|TorsoColor`, `Class.HumanoidDescription.RightArmColor|RightArmColor`, `Class.HumanoidDescription.LeftLegColor|LeftLegColor`, and `Class.HumanoidDescription.RightLegColor|RightLegColor`, which are similar properties that also control body colors - `Class.HumanoidDescription.LeftArm|LeftArm`, which controls the mesh used for this limb - `Class.HumanoidDescription.Shirt|Shirt`, which can apply a texture to this limb code_samples: [] type: Color3 tags: - NotReplicated deprecation_message: '' security: read: None write: None thread_safety: ReadSafe category: Body Colors serialization: can_load: true can_save: false capabilities: - Avatar - name: HumanoidDescription.LeftLeg summary: | Determines the asset ID of the LeftLeg to be applied to the `Class.Humanoid`. description: | **LeftLeg** determines the asset ID of the LeftLeg to be `Class.Humanoid:ApplyDescriptionAsync()|applied` to a `Class.Humanoid`. See also: - [HumanoidDescription System](../../../characters/appearance.md#humanoiddescription), for more information on `Class.HumanoidDescription`. - `Class.HumanoidDescription.Head|Head`, `Class.HumanoidDescription.Torso|Torso`, `Class.HumanoidDescription.RightArm|RightArm`, `Class.HumanoidDescription.LeftArm|LeftArm`, and `Class.HumanoidDescription.RightLeg|RightLeg`, which are similar properties that also control body part - `Class.HumanoidDescription.LeftLegColor|LeftLegColor`, which controls the color of this limb code_samples: [] type: int64 tags: - NotReplicated deprecation_message: '' security: read: None write: None thread_safety: ReadSafe category: Body Parts serialization: can_load: true can_save: false capabilities: - Avatar - name: HumanoidDescription.LeftLegColor summary: | Determines the `Class.BodyColors.LeftLegColor3` and `Class.BodyColors.LeftLegColor` of a `Class.Humanoid` when applied. description: | **LeftLegColor** determines the `Class.BodyColors.LeftLegColor3` and `Class.BodyColors.LeftLegColor` of a `Class.Humanoid` when the description is `Class.Humanoid:ApplyDescriptionAsync()|applied`. For R15 and Rthro rigs, this property controls both the upper, lower, and foot parts of the left leg. See also: - [HumanoidDescription System](../../../characters/appearance.md#humanoiddescription), for more information on `Class.HumanoidDescription`. - `Class.HumanoidDescription.HeadColor|HeadColor`, `Class.HumanoidDescription.TorsoColor|TorsoColor`, `Class.HumanoidDescription.LeftArmColor|LeftArmColor`, `Class.HumanoidDescription.RightArmColor|RightArmColor`, and `Class.HumanoidDescription.RightLegColor|RightLegColor`, which are similar properties that also control body colors - `Class.HumanoidDescription.LeftLeg|LeftLeg`, which controls the mesh used for this limb - `Class.HumanoidDescription.Pants|Pants`, which can apply a texture to this limb code_samples: [] type: Color3 tags: - NotReplicated deprecation_message: '' security: read: None write: None thread_safety: ReadSafe category: Body Colors serialization: can_load: true can_save: false capabilities: - Avatar - name: HumanoidDescription.MoodAnimation summary: '' description: '' code_samples: [] type: int64 tags: [] deprecation_message: '' security: read: None write: None thread_safety: ReadSafe category: Animation serialization: can_load: true can_save: true capabilities: - Avatar - name: HumanoidDescription.NeckAccessory summary: | A comma-separated list of asset IDs that will be added as `Class.Accessory|Accessories` to a `Class.Humanoid` rig when `Class.Humanoid:ApplyDescriptionAsync()|applied`, usually those attached to its neck (such as scarves or necklaces). description: | **NeckAccessory** is a comma-separated list of asset IDs that determine what accessories should be added when the description is `Class.Humanoid:ApplyDescriptionAsync()|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 `Class.HumanoidDescription.HairAccessory|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: - [HumanoidDescription System](../../../characters/appearance.md#humanoiddescription), for more information on `Class.HumanoidDescription`. - `Class.HumanoidDescription.BackAccessory|BackAccessory`, `Class.HumanoidDescription.FaceAccessory|FaceAccessory`, `Class.HumanoidDescription.FrontAccessory|FrontAccessory`, `Class.HumanoidDescription.HairAccessory|HairAccessory`, `Class.HumanoidDescription.HatAccessory|HatAccessory`, `Class.HumanoidDescription.ShouldersAccessory|ShouldersAccessory` and `Class.HumanoidDescription.WaistAccessory|WaistAccessory`, which are similar properties that apply accessories like this one code_samples: [] type: string tags: - NotReplicated deprecation_message: '' security: read: None write: None thread_safety: ReadSafe category: Accessories serialization: can_load: true can_save: false capabilities: - Avatar - name: HumanoidDescription.Pants summary: | Determines the `Class.Pants.PantsTemplate|PantsTemplate` used by a `Class.Pants` instance. description: | **Pants** determines the `Class.Pants.PantsTemplate|PantsTemplate` used by a `Class.Pants` instance when `Class.Humanoid:ApplyDescriptionAsync()` is called on a `Class.Humanoid`. The asset type must be for **Pants**, not a **Decal** or **Image**. #### See Also - [HumanoidDescription System](../../../characters/appearance.md#humanoiddescription), for more information on `Class.HumanoidDescription`. - `Class.HumanoidDescription.Shirt|Shirt`, a similar property which applies to a `Class.Shirt` object - `Class.HumanoidDescription.TorsoColor|TorsoColor`, `Class.HumanoidDescription.LeftLegColor|LeftLegColor` and `Class.HumanoidDescription.RightLegColor|RightLegColor`, which can change the color of the body parts underneath the pants texture code_samples: [] type: int64 tags: [] deprecation_message: '' security: read: None write: None thread_safety: ReadSafe category: Clothes serialization: can_load: true can_save: true capabilities: - Avatar - name: HumanoidDescription.ProportionScale summary: | Determines how wide (0) or narrow (1) a `Class.Humanoid` rig is. description: | **ProportionScale** determines how wide (0) or narrow (1) a `Class.Humanoid` rig is. Values outside the range of 0 to 1 are clamped. When the description is applied through `Class.Humanoid:ApplyDescriptionAsync()`, this value maps to a **BodyProportionScale** `Class.NumberValue` within the `Class.Humanoid`. Note that when the value of `Class.HumanoidDescription.BodyTypeScale|BodyTypeScale` is 0, this property has no effect. #### See Also - [HumanoidDescription System](../../../characters/appearance.md#humanoiddescription), for more information on `Class.HumanoidDescription`. - `Class.HumanoidDescription.BodyTypeScale|BodyTypeScale`, which also affects rig proportions - `Class.HumanoidDescription.HeightScale|WidthScale`, `Class.HumanoidDescription.DepthScale|HeightScale` and `Class.HumanoidDescription.DepthScale|DepthScale`, which provide finer control over the dimensions of a rig - `Class.HumanoidDescription.HeadScale|HeadScale`, which provides specific control over the scale of the rig's head code_samples: [] type: float tags: [] deprecation_message: '' security: read: None write: None thread_safety: ReadSafe category: Scale serialization: can_load: true can_save: true capabilities: - Avatar - name: HumanoidDescription.RightArm summary: | Determines the asset ID of the RightArm to be applied to the `Class.Humanoid`. description: | **RightArm** determines the asset ID of the RightArm to be `Class.Humanoid:ApplyDescriptionAsync()|applied` to a `Class.Humanoid`. See also: - [HumanoidDescription System](../../../characters/appearance.md#humanoiddescription), for more information on `Class.HumanoidDescription`. - `Class.HumanoidDescription.Head|Head`, `Class.HumanoidDescription.Torso|Torso`, `Class.HumanoidDescription.LeftArm|LeftArm`, `Class.HumanoidDescription.RightLeg|RightLeg` and `Class.HumanoidDescription.LeftLeg|LeftLeg`, which are similar properties that also control body part - `Class.HumanoidDescription.RightArmColor|RightArmColor`, which controls the color of this limb code_samples: [] type: int64 tags: - NotReplicated deprecation_message: '' security: read: None write: None thread_safety: ReadSafe category: Body Parts serialization: can_load: true can_save: false capabilities: - Avatar - name: HumanoidDescription.RightArmColor summary: | Determines the `Class.BodyColors.RightArmColor3` and `Class.BodyColors.RightArmColor` of a Humanoid when applied. description: | **RightArmColor** determines the `Class.BodyColors.RightArmColor3` and `Class.BodyColors.RightArmColor` of a `Class.Humanoid` when the description is `Class.Humanoid:ApplyDescriptionAsync()|applied`. For R15 and Rthro rigs, this property controls both the upper, lower, and hand parts of the right arm. See also: - [HumanoidDescription System](../../../characters/appearance.md#humanoiddescription), for more information on `Class.HumanoidDescription`. - `Class.HumanoidDescription.HeadColor|HeadColor`, `Class.HumanoidDescription.TorsoColor|TorsoColor`, `Class.HumanoidDescription.LeftArmColor|LeftArmColor`, `Class.HumanoidDescription.LeftLegColor|LeftLegColor`, and `Class.HumanoidDescription.RightLegColor|RightLegColor`, which are similar properties that also control body colors - `Class.HumanoidDescription.RightArm|RightArm`, which controls the mesh used for this limb - `Class.HumanoidDescription.Shirt|Shirt`, which can apply a texture to this limb code_samples: [] type: Color3 tags: - NotReplicated deprecation_message: '' security: read: None write: None thread_safety: ReadSafe category: Body Colors serialization: can_load: true can_save: false capabilities: - Avatar - name: HumanoidDescription.RightLeg summary: | Determines the asset ID of the RightLeg to be applied to the `Class.Humanoid`. description: | **RightLeg** determines the asset ID of the RightLeg to be `Class.Humanoid:ApplyDescriptionAsync()|applied` to a `Class.Humanoid`. See also: - [HumanoidDescription System](../../../characters/appearance.md#humanoiddescription), for more information on `Class.HumanoidDescription`. - `Class.HumanoidDescription.Head|Head`, `Class.HumanoidDescription.Torso|Torso`, `Class.HumanoidDescription.RightArm|RightArm`, `Class.HumanoidDescription.LeftArm|LeftArm` and `Class.HumanoidDescription.LeftLeg|LeftLeg`, which are similar properties that also control body part - `Class.HumanoidDescription.RightLegColor|RightLegColor`, which controls the color of this limb code_samples: [] type: int64 tags: - NotReplicated deprecation_message: '' security: read: None write: None thread_safety: ReadSafe category: Body Parts serialization: can_load: true can_save: false capabilities: - Avatar - name: HumanoidDescription.RightLegColor summary: | Determines the `Class.BodyColors.RightLegColor3` and `Class.BodyColors.RightLegColor` of a Humanoid when applied. description: | **RightLegColor** determines the `Class.BodyColors.RightLegColor3` and `Class.BodyColors.RightLegColor` of a `Class.Humanoid` when the description is `Class.Humanoid:ApplyDescriptionAsync()|applied`. For R15 and Rthro rigs, this property controls both the upper, lower, and foot parts of the right leg. See also: - [HumanoidDescription System](../../../characters/appearance.md#humanoiddescription), for more information on `Class.HumanoidDescription`. - `Class.HumanoidDescription.HeadColor|HeadColor`, `Class.HumanoidDescription.TorsoColor|TorsoColor`, `Class.HumanoidDescription.LeftArmColor|LeftArmColor`, `Class.HumanoidDescription.RightArmColor|RightArmColor`, and `Class.HumanoidDescription.LeftLegColor|LeftLegColor`, which are similar properties that also control body colors - `Class.HumanoidDescription.RightLeg|RightLeg`, which controls the mesh used for this limb - `Class.HumanoidDescription.Pants|Pants`, which can apply a texture to this limb code_samples: [] type: Color3 tags: - NotReplicated deprecation_message: '' security: read: None write: None thread_safety: ReadSafe category: Body Colors serialization: can_load: true can_save: false capabilities: - Avatar - name: HumanoidDescription.RunAnimation summary: | When this description is `Class.Humanoid:ApplyDescriptionAsync()|applied` to a `Class.Humanoid`, this determines the `Class.Animation.AnimationId` to play when its `Class.Humanoid:GetState()|state` is `Enum.HumanoidStateType|Running` at a moderate speed. description: | When this description is `Class.Humanoid:ApplyDescriptionAsync()|applied` to a `Class.Humanoid`, **RunAnimation** determines the `Class.Animation.AnimationId` to play when its `Class.Humanoid:GetState()|state` is `Enum.HumanoidStateType|Running` at a moderate speed. See also: - [HumanoidDescription System](../../../characters/appearance.md#humanoiddescription), for more information on `Class.HumanoidDescription`. - `Class.HumanoidDescription.FallAnimation|ClimbAnimation`, `Class.HumanoidDescription.FallAnimation|FallAnimation`, `Class.HumanoidDescription.IdleAnimation|IdleAnimation`, `Class.HumanoidDescription.JumpAnimation|JumpAnimation`, `Class.HumanoidDescription.SwimAnimation|SwimAnimation` and `Class.HumanoidDescription.WalkAnimation|WalkAnimation`, which are similar properties that determine animations to play on the rig code_samples: [] type: int64 tags: [] deprecation_message: '' security: read: None write: None thread_safety: ReadSafe category: Animation serialization: can_load: true can_save: true capabilities: - Avatar - name: HumanoidDescription.Shirt summary: | Determines the `Class.Shirt.ShirtTemplate|ShirtTemplate` used by a `Class.Shirt` instance. description: | **Shirt** determines the `Class.Shirt.ShirtTemplate|ShirtTemplate` used by a `Class.Shirt` instance when `Class.Humanoid:ApplyDescriptionAsync()` is called on a `Class.Humanoid`. The asset type must be for **Shirt**, not a **Decal** or **Image**. #### See Also - [HumanoidDescription System](../../../characters/appearance.md#humanoiddescription), for more information on `Class.HumanoidDescription`. - `Class.HumanoidDescription.Pants|Pants`, a similar property which applies to a `Class.Pants` object - `Class.HumanoidDescription.GraphicTShirt|GraphicTShirt`, a similar property which applies to a `Class.ShirtGraphic` object - `Class.HumanoidDescription.TorsoColor|TorsoColor`, `Class.HumanoidDescription.LeftArmColor|LeftArmColor` and `Class.HumanoidDescription.RightArmColor|RightArmColor`, which can change the color of the body parts underneath the shirt texture code_samples: [] type: int64 tags: [] deprecation_message: '' security: read: None write: None thread_safety: ReadSafe category: Clothes serialization: can_load: true can_save: true capabilities: - Avatar - name: HumanoidDescription.ShouldersAccessory summary: | A comma-separated list of asset IDs that will be added as `Class.Accessory|Accessories` to a `Class.Humanoid` rig when `Class.Humanoid:ApplyDescriptionAsync()|applied`, usually those attached to its shoulders (such as shoulder-mounted critters). description: | **ShouldersAccessory** is a comma-separated list of asset IDs that determine what accessories should be added when the description is `Class.Humanoid:ApplyDescriptionAsync()|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: - [HumanoidDescription System](../../../characters/appearance.md#humanoiddescription), for more information on `Class.HumanoidDescription`. - `Class.HumanoidDescription.BackAccessory|BackAccessory`, `Class.HumanoidDescription.FaceAccessory|FaceAccessory`, `Class.HumanoidDescription.FrontAccessory|FrontAccessory`, `Class.HumanoidDescription.HairAccessory|HairAccessory`, `Class.HumanoidDescription.HatAccessory|HatAccessory`, `Class.HumanoidDescription.NeckAccessory|NeckAccessory` and `Class.HumanoidDescription.WaistAccessory|WaistAccessory`, which are similar properties that apply accessories like this one code_samples: [] type: string tags: - NotReplicated deprecation_message: '' security: read: None write: None thread_safety: ReadSafe category: Accessories serialization: can_load: true can_save: false capabilities: - Avatar - name: HumanoidDescription.SwimAnimation summary: | When this description is `Class.Humanoid:ApplyDescriptionAsync()|applied` to a `Class.Humanoid`, this determines the `Class.Animation.AnimationId` to play when its `Class.Humanoid:GetState()|state` is `Enum.HumanoidStateType|Swimming`. description: | When this description is `Class.Humanoid:ApplyDescriptionAsync()|applied` to a `Class.Humanoid`, **SwimAnimation** determines the `Class.Animation.AnimationId` to play when its `Class.Humanoid:GetState()|state` is `Enum.HumanoidStateType|Swimming` See also: - [HumanoidDescription System](../../../characters/appearance.md#humanoiddescription), for more information on `Class.HumanoidDescription`. - `Class.HumanoidDescription.FallAnimation|ClimbAnimation`, `Class.HumanoidDescription.FallAnimation|FallAnimation`, `Class.HumanoidDescription.IdleAnimation|IdleAnimation`, `Class.HumanoidDescription.JumpAnimation|JumpAnimation`, `Class.HumanoidDescription.RunAnimation|RunAnimation` and `Class.HumanoidDescription.WalkAnimation|WalkAnimation`, which are similar properties that determine animations to play on the rig code_samples: [] type: int64 tags: [] deprecation_message: '' security: read: None write: None thread_safety: ReadSafe category: Animation serialization: can_load: true can_save: true capabilities: - Avatar - name: HumanoidDescription.Torso summary: | Determines the asset ID of the Torso to be applied to the `Class.Humanoid`. description: | **Torso** determines the asset ID of the Torso to be `Class.Humanoid:ApplyDescriptionAsync()|applied` to a `Class.Humanoid`. See also: - [HumanoidDescription System](../../../characters/appearance.md#humanoiddescription), for more information on `Class.HumanoidDescription`. - `Class.HumanoidDescription.Head|Head`, `Class.HumanoidDescription.RightArm|RightArm`, `Class.HumanoidDescription.LeftArm|LeftArm`, `Class.HumanoidDescription.RightLeg|RightLeg` and `Class.HumanoidDescription.LeftLeg|LeftLeg`, which are similar properties that also control body part - `Class.HumanoidDescription.TorsoColor|TorsoColor`, which controls the color of this limb code_samples: [] type: int64 tags: - NotReplicated deprecation_message: '' security: read: None write: None thread_safety: ReadSafe category: Body Parts serialization: can_load: true can_save: false capabilities: - Avatar - name: HumanoidDescription.TorsoColor summary: | Determines the `Class.BodyColors.TorsoColor3` and `Class.BodyColors.TorsoColor` of a Humanoid when applied. description: | **TorsoColor** determines the `Class.BodyColors.TorsoColor3` and `Class.BodyColors.TorsoColor` of a `Class.Humanoid` when the description is `Class.Humanoid:ApplyDescriptionAsync()|applied`. For R15 and Rthro rigs, this property controls both the upper and lower parts of the torso. See also: - [HumanoidDescription System](../../../characters/appearance.md#humanoiddescription), for more information on `Class.HumanoidDescription`. - `Class.HumanoidDescription.HeadColor|HeadColor`, `Class.HumanoidDescription.TorsoColor|TorsoColor`, `Class.HumanoidDescription.LeftArmColor|LeftArmColor`, `Class.HumanoidDescription.RightArmColor|RightArmColor`, `Class.HumanoidDescription.LeftLegColor|LeftLegColor`, and `Class.HumanoidDescription.RightLegColor|RightLegColor`, which are similar properties that also control body colors - `Class.HumanoidDescription.Torso|Torso`, which controls the mesh used for this body part - `Class.HumanoidDescription.GraphicTShirt|GraphicTShirt` and `Class.HumanoidDescription.Shirt|Shirt`, which can apply a texture to this body part code_samples: [] type: Color3 tags: - NotReplicated deprecation_message: '' security: read: None write: None thread_safety: ReadSafe category: Body Colors serialization: can_load: true can_save: false capabilities: - Avatar - name: HumanoidDescription.WaistAccessory summary: | A comma-separated list of asset IDs that will be added as `Class.Accessory|Accessories` to a `Class.Humanoid` rig when `Class.Humanoid:ApplyDescriptionAsync()|applied`, usually those attached to its waist (such as belts). description: | **WaistAccessory** is a comma-separated list of asset IDs that determine what accessories should be added when the description is `Class.Humanoid:ApplyDescriptionAsync()|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: - [HumanoidDescription System](../../../characters/appearance.md#humanoiddescription), for more information on `Class.HumanoidDescription`. - `Class.HumanoidDescription.BackAccessory|BackAccessory`, `Class.HumanoidDescription.FaceAccessory|FaceAccessory`, `Class.HumanoidDescription.FrontAccessory|FrontAccessory`, `Class.HumanoidDescription.HairAccessory|HairAccessory`, `Class.HumanoidDescription.HatAccessory|HatAccessory`, `Class.HumanoidDescription.NeckAccessory|NeckAccessory` and `Class.HumanoidDescription.ShouldersAccessory|ShouldersAccessory`, which are similar properties that apply accessories like this one code_samples: [] type: string tags: - NotReplicated deprecation_message: '' security: read: None write: None thread_safety: ReadSafe category: Accessories serialization: can_load: true can_save: false capabilities: - Avatar - name: HumanoidDescription.WalkAnimation summary: | When this description is `Class.Humanoid:ApplyDescriptionAsync()|applied` to a `Class.Humanoid`, this determines the `Class.Animation.AnimationId` to play when its `Class.Humanoid:GetState()|state` is `Enum.HumanoidStateType|Running` at a low speed. description: | When this description is `Class.Humanoid:ApplyDescriptionAsync()|applied` to a `Class.Humanoid`, **WalkAnimation** determines the `Class.Animation.AnimationId` to play when its `Class.Humanoid:GetState()|state` is `Enum.HumanoidStateType|Running` at a low speed See also: - [HumanoidDescription System](../../../characters/appearance.md#humanoiddescription), for more information on `Class.HumanoidDescription`. - `Class.HumanoidDescription.FallAnimation|ClimbAnimation`, `Class.HumanoidDescription.FallAnimation|FallAnimation`, `Class.HumanoidDescription.IdleAnimation|IdleAnimation`, `Class.HumanoidDescription.JumpAnimation|JumpAnimation`, `Class.HumanoidDescription.RunAnimation|RunAnimation` and `Class.HumanoidDescription.SwimAnimation|SwimAnimation`, which are similar properties that determine animations to play on the rig code_samples: [] type: int64 tags: [] deprecation_message: '' security: read: None write: None thread_safety: ReadSafe category: Animation serialization: can_load: true can_save: true capabilities: - Avatar - name: HumanoidDescription.WidthScale summary: | Determines by what factor the width (left-to-right distance) of a `Class.Humanoid` is scaled, as well as all accessories not attached to its head. description: | **WidthScale** determines by what factor the width (left-to-right distance) of a `Class.Humanoid` is scaled, as well as all accessories not attached to its head. When the description is applied through `Class.Humanoid:ApplyDescriptionAsync()`, this value maps to a **BodyWidthScale** `Class.NumberValue` within the `Class.Humanoid`. #### See Also - [HumanoidDescription System](../../../characters/appearance.md#humanoiddescription), for more information on `Class.HumanoidDescription`. - `Class.HumanoidDescription.BodyTypeScale|BodyTypeScale` and `Class.HumanoidDescription.ProportionScale|ProportionScale`, which can provide more realistic rig proportions - `Class.HumanoidDescription.HeightScale|HeightScale` and `Class.HumanoidDescription.DepthScale|DepthScale` code_samples: [] type: float tags: [] deprecation_message: '' security: read: None write: None thread_safety: ReadSafe category: Scale serialization: can_load: true can_save: true capabilities: - Avatar methods: - name: HumanoidDescription:AddEmote summary: | Adds the emote to the description given a name and its asset ID. description: | **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](https://www.roblox.com/catalog?Category=0&Subcategory=39) in the Catalog). You can add multiple emotes of the same name. All emotes of the same name can be removed using `Class.HumanoidDescription:RemoveEmote()|RemoveEmote`. If an emote with the same ID is added under the same name, `Class.HumanoidDescription.EmotesChanged|EmotesChanged` fires. See also: - [HumanoidDescription System](../../../characters/appearance.md#humanoiddescription), for more information on `Class.HumanoidDescription`. - `Class.HumanoidDescription:GetEmotes()|GetEmotes`, which can be used to retrieve the emotes that have been added by this function - `Class.HumanoidDescription:SetEmotes()|SetEmotes` and `Class.HumanoidDescription:RemoveEmote()|RemoveEmote`, which also manipulate what emotes have been added - `Class.HumanoidDescription.EmotesChanged|EmotesChanged`, which fires after this function is called code_samples: [] parameters: - name: name type: string default: summary: | A string that identifies what emote is being added. Example: `"Salute"`. - name: assetId type: int64 default: summary: | An emote asset ID. returns: - type: () summary: '' tags: [] deprecation_message: '' security: None thread_safety: Unsafe capabilities: - Avatar - name: HumanoidDescription:GetAccessories summary: | Returns a table of an avatar's current accessories. description: | 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. code_samples: - get-accessories parameters: - name: includeRigidAccessories type: boolean default: summary: | Set 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: - type: Array summary: | Returns an array where each entry specifies for an individual accessory the AccessoryType, AssetId, IsLayered, Order and Puffiness. tags: [] deprecation_message: '' security: None thread_safety: Unsafe capabilities: - Avatar - name: HumanoidDescription:GetEmotes summary: | Returns a dictionary of emotes that have been `Class.HumanoidDescription:AddEmote()|added` or `Class.HumanoidDescription:SetEmotes()|set` to this description. description: | **GetEmotes** returns a dictionary of emotes that have been `Class.HumanoidDescription:AddEmote()|added` or `Class.HumanoidDescription:SetEmotes()|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 ```lua 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: - [HumanoidDescription System](../../../characters/appearance.md#humanoiddescription), for more information on `Class.HumanoidDescription`. - `Class.HumanoidDescription:SetEmotes()|SetEmotes` and `Class.HumanoidDescription:AddEmote()|AddEmote`, which can add emotes that may be returned by this function - `Class.HumanoidDescription.EmotesChanged|EmotesChanged`, which fires with the value returned this function after it may have changed code_samples: [] parameters: [] returns: - type: Dictionary summary: | A 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} } ``` . tags: [] deprecation_message: '' security: None thread_safety: Unsafe capabilities: - Avatar - name: HumanoidDescription:GetEquippedEmotes summary: | Returns an array of tables describing the equipped emotes that have been `Class.HumanoidDescription:SetEquippedEmotes()|set`. description: | **GetEquippedEmotes** returns an array of tables which indicate the `Name` and `Slot` of each equipped emote as it was set by `Class.HumanoidDescription:SetEquippedEmotes()|SetEquippedEmotes`. #### Example ```lua 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: - [HumanoidDescription System](../../../characters/appearance.md#humanoiddescription), for more information on `Class.HumanoidDescription`. - `Class.HumanoidDescription:SetEquippedEmotes()|SetEquippedEmotes`, which sets the currently equipped emotes and changes what this function returns - `Class.HumanoidDescription.EquippedEmotesChanged|EquippedEmotesChanged`, which fires when the function returned by this value may have changed code_samples: [] parameters: [] returns: - type: Array summary: | 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"}, } ``` . tags: [] deprecation_message: '' security: None thread_safety: Unsafe capabilities: - Avatar - name: HumanoidDescription:RemoveEmote summary: | Removes any emotes that have been added under the given name. description: | **RemoveEmote** removes all emotes from the description that have been `Class.HumanoidDescription:AddEmote()|added` or `Class.HumanoidDescription:SetEmotes()|set` under the given name. If there are no added emotes with the given name, no error is thrown and `Class.HumanoidDescription.EmotesChanged|EmotesChanged` **does not** fire. See also: - [HumanoidDescription System](../../../characters/appearance.md#humanoiddescription), for more information on `Class.HumanoidDescription`. - `Class.HumanoidDescription:SetEmotes()|SetEmotes` and `Class.HumanoidDescription:AddEmote()|AddEmote`, which can add emotes that may be removed - `Class.HumanoidDescription:GetEmotes()|GetEmotes`, which can retrieve a dictionary of emotes that may be removed code_samples: [] parameters: - name: name type: string default: summary: | The name of the emote as it was `Class.HumanoidDescription:SetEmotes()|set` or `Class.HumanoidDescription:AddEmote()|added`. returns: - type: () summary: '' tags: [] deprecation_message: '' security: None thread_safety: Unsafe capabilities: - Avatar - name: HumanoidDescription:SetAccessories summary: | Accepts a table that sets the accessories and related properties for an avatar. description: | 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. code_samples: - set-accessories parameters: - name: accessories type: Array default: summary: | Each entry specifies for an individual accessory the AccessoryType, AssetId, IsLayered, Order and Puffiness. - name: includeRigidAccessories type: boolean default: summary: | Set to true if rigid accessories are also included in the passed in array (they would have to not specify Order). returns: - type: () summary: '' tags: [] deprecation_message: '' security: None thread_safety: Unsafe capabilities: - Avatar - name: HumanoidDescription:SetEmotes summary: | Sets all of the emotes on this description. description: | **SetEmotes** sets all of the emotes on this description given a table similar to that returned by `Class.HumanoidDescription:GetEmotes()|GetEmotes`. It fires `Class.HumanoidDescription.EmotesChanged|EmotesChanged` #### Example ```lua local emotes = { Salute = {3360689775}, -- Syntax note: can also use ["Salute"] = ... Agree = {4849487550}, Disagree = {4849495710} } local hd = Instance.new("HumanoidDescription") hd:SetEmotes(emotes) ``` See also: - [HumanoidDescription System](../../../characters/appearance.md#humanoiddescription), for more information on `Class.HumanoidDescription`. - `Class.HumanoidDescription:AddEmote()|AddEmote` and `Class.HumanoidDescription:RemoveEmote()|RemoveEmote` which can modify the added emotes on an individual level - `Class.HumanoidDescription.EmotesChanged|EmotesChanged`, which fires when this function is called code_samples: [] parameters: - name: emotes type: Dictionary default: summary: | A 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: - type: () summary: '' tags: [] deprecation_message: '' security: None thread_safety: Unsafe capabilities: - Avatar - name: HumanoidDescription:SetEquippedEmotes summary: | Sets the currently equipped emotes given an array of emote names. description: | **SetEquippedEmotes** sets the currently equipped emotes given an array of emote names as they were passed to `Class.HumanoidDescription:AddEmote()|AddEmote` or `Class.HumanoidDescription:SetEmotes()|SetEmotes`. It can also take an array of tables similar to that returned by `Class.HumanoidDescription:GetEquippedEmotes()|GetEquippedEmotes`. Calling this function fires `Class.HumanoidDescription.EquippedEmotesChanged|EquippedEmotesChanged`. #### Example ```lua 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: - [HumanoidDescription System](../../../characters/appearance.md#humanoiddescription), for more information on `Class.HumanoidDescription`. - `Class.HumanoidDescription:GetEquippedEmotes()|GetEquippedEmotes`, which returns a value describing the equipped emotes set by this function - `Class.HumanoidDescription.EquippedEmotesChanged|EquippedEmotesChanged`, which fires when this function is called code_samples: [] parameters: - name: equippedEmotes type: Array default: summary: | An 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: - type: () summary: '' tags: [] deprecation_message: '' security: None thread_safety: Unsafe capabilities: - Avatar events: - name: HumanoidDescription.EmotesChanged summary: | Fires when emotes are added, removed or set on this description. description: | **EmotesChanged** fires when emotes are `Class.HumanoidDescription:AddEmote()|added`, `Class.HumanoidDescription:RemoveEmote()|removed` or `Class.HumanoidDescription:SetEmotes()|set` on the description. The event fires with the new emote table as returned by `Class.HumanoidDescription:GetEmotes()|GetEmotes`. If `Class.HumanoidDescription:AddEmote()|AddEmote` is called with the same name and ID as an existing emote, this event fires. See also: - [HumanoidDescription System](../../../characters/appearance.md#humanoiddescription), for more information on `Class.HumanoidDescription`. - `Class.HumanoidDescription:AddEmote()|AddEmote`, `Class.HumanoidDescription:RemoveEmote()|RemoveEmote` and `Class.HumanoidDescription:SetEmotes()`, which can cause this event to be fired code_samples: [] parameters: - name: newEmotes type: Dictionary default: summary: | A 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} } ``` . tags: [] deprecation_message: '' security: None capabilities: - Avatar - name: HumanoidDescription.EquippedEmotesChanged summary: | Fires when the equipped emotes are `Class.HumanoidDescription:SetEquippedEmotes()|set` on this description. description: | **EquippedEmotesChanged** fires when the equipped emotes are set on this description using `Class.HumanoidDescription:SetEquippedEmotes()|SetEquippedEmotes`. It provides the new equipped emotes in a table like that returned by `Class.HumanoidDescription:GetEquippedEmotes()|GetEquippedEmotes`. #### Example ```lua 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: - [HumanoidDescription System](../../../characters/appearance.md#humanoiddescription), for more information on `Class.HumanoidDescription`. - `Class.HumanoidDescription:SetEquippedEmotes()|SetEquippedEmotes`, which fires this event - `Class.HumanoidDescription:GetEquippedEmotes()|GetEquippedEmotes`, which can be used to query the currently equipped emotes without this event firing code_samples: [] parameters: - name: newEquippedEmotes type: Array default: summary: | 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"}, } ``` . tags: [] deprecation_message: '' security: None capabilities: - Avatar callbacks: []