rojo/.cursor/rules/roblox/reference/engine/classes/HumanoidDescription.yaml
2026-02-02 12:08:47 -06:00

1999 lines
75 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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: []