# HumanoidDescription

Roblox Engine API class from Roblox Studio 0.744.0.7441077 (version-7aaa6838d36c4448).

- Inherits from, nearest first: [Instance](https://rapi.sleaze.dev/classes/Instance.md), [Object](https://rapi.sleaze.dev/classes/Object.md)
- Memory category: Instances
- HTML page: https://rapi.sleaze.dev/classes/HumanoidDescription/
- Roblox documentation: https://create.roblox.com/docs/reference/engine/classes/HumanoidDescription

Describes the appearance of a Humanoid character including body parts, accessories, colors, scales, animations, and emotes.

## Properties

### AccessoryBlob

```luau
HumanoidDescription.AccessoryBlob: string = "[]"
```

- Tags: Not replicated, Not scriptable, Read capabilities: AvatarAppearance, Load only

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.

### BackAccessory

```luau
HumanoidDescription.BackAccessory: string = ""
```

- Tags: Not replicated, Read capabilities: AvatarAppearance, Load only

A comma-separated list of asset IDs that will be added as `Accessories` to a [`Humanoid`](https://rapi.sleaze.dev/classes/Humanoid.md) rig when `applied`, usually those attached to its back (such as capes).

### FaceAccessory

```luau
HumanoidDescription.FaceAccessory: string = ""
```

- Tags: Not replicated, Read capabilities: AvatarAppearance, Load only

A comma-separated list of asset IDs that will be added as `Accessories` to a [`Humanoid`](https://rapi.sleaze.dev/classes/Humanoid.md) rig when `applied`, usually those attached to the front of its face (such as glasses).

### FrontAccessory

```luau
HumanoidDescription.FrontAccessory: string = ""
```

- Tags: Not replicated, Read capabilities: AvatarAppearance, Load only

A comma-separated list of asset IDs that will be added as `Accessories` to a [`Humanoid`](https://rapi.sleaze.dev/classes/Humanoid.md) rig when `applied`, usually those attached to front of its torso (such as medals or ties).

### HairAccessory

```luau
HumanoidDescription.HairAccessory: string = ""
```

- Tags: Not replicated, Read capabilities: AvatarAppearance, Load only

A comma-separated list of asset IDs that will be added as `Accessories` to a [`Humanoid`](https://rapi.sleaze.dev/classes/Humanoid.md) rig when `applied`, usually those attached to its head resembling hair.

### HatAccessory

```luau
HumanoidDescription.HatAccessory: string = ""
```

- Tags: Not replicated, Read capabilities: AvatarAppearance, Load only

A comma-separated list of asset IDs that will be added as `Accessories` to a [`Humanoid`](https://rapi.sleaze.dev/classes/Humanoid.md) rig when `applied`, usually those attached to its head.

### NeckAccessory

```luau
HumanoidDescription.NeckAccessory: string = ""
```

- Tags: Not replicated, Read capabilities: AvatarAppearance, Load only

A comma-separated list of asset IDs that will be added as `Accessories` to a [`Humanoid`](https://rapi.sleaze.dev/classes/Humanoid.md) rig when `applied`, usually those attached to its neck (such as scarves or necklaces).

### ShouldersAccessory

```luau
HumanoidDescription.ShouldersAccessory: string = ""
```

- Tags: Not replicated, Read capabilities: AvatarAppearance, Load only

A comma-separated list of asset IDs that will be added as `Accessories` to a [`Humanoid`](https://rapi.sleaze.dev/classes/Humanoid.md) rig when `applied`, usually those attached to its shoulders (such as shoulder-mounted critters).

### WaistAccessory

```luau
HumanoidDescription.WaistAccessory: string = ""
```

- Tags: Not replicated, Read capabilities: AvatarAppearance, Load only

A comma-separated list of asset IDs that will be added as `Accessories` to a [`Humanoid`](https://rapi.sleaze.dev/classes/Humanoid.md) rig when `applied`, usually those attached to its waist (such as belts).

### ClimbAnimation

```luau
HumanoidDescription.ClimbAnimation: number = 0
```

- Tags: Read capabilities: AvatarAppearance

When this description is `applied` to a [`Humanoid`](https://rapi.sleaze.dev/classes/Humanoid.md), this determines the [`Animation.AnimationId`](https://rapi.sleaze.dev/classes/Animation.md) to play when its `state` is `Climbing`.

### FallAnimation

```luau
HumanoidDescription.FallAnimation: number = 0
```

- Tags: Read capabilities: AvatarAppearance

When this description is `applied` to a [`Humanoid`](https://rapi.sleaze.dev/classes/Humanoid.md), this determines the [`Animation.AnimationId`](https://rapi.sleaze.dev/classes/Animation.md) to play when its `state` is `Freefall`.

### IdleAnimation

```luau
HumanoidDescription.IdleAnimation: number = 0
```

- Tags: Read capabilities: AvatarAppearance

When this description is `applied` to a [`Humanoid`](https://rapi.sleaze.dev/classes/Humanoid.md), this determines the [`Animation.AnimationId`](https://rapi.sleaze.dev/classes/Animation.md) to play when its `state` is `Running` at a speed near zero.

### JumpAnimation

```luau
HumanoidDescription.JumpAnimation: number = 0
```

- Tags: Read capabilities: AvatarAppearance

When this description is `applied` to a [`Humanoid`](https://rapi.sleaze.dev/classes/Humanoid.md), this determines the [`Animation.AnimationId`](https://rapi.sleaze.dev/classes/Animation.md) to play when its `state` is `Jumping`.

### MoodAnimation

```luau
HumanoidDescription.MoodAnimation: number = 0
```

- Tags: Read capabilities: AvatarAppearance

When this description is `applied` to a [`Humanoid`](https://rapi.sleaze.dev/classes/Humanoid.md), this determines the asset ID of the mood animation that gives the character's face its persistent expression.

### NumberEmotesLoaded

```luau
HumanoidDescription.NumberEmotesLoaded: number = -1
```

- Tags: Hidden, Roblox script security, Read capabilities: AvatarAppearance

### RunAnimation

```luau
HumanoidDescription.RunAnimation: number = 0
```

- Tags: Read capabilities: AvatarAppearance

When this description is `applied` to a [`Humanoid`](https://rapi.sleaze.dev/classes/Humanoid.md), this determines the [`Animation.AnimationId`](https://rapi.sleaze.dev/classes/Animation.md) to play when its `state` is `Running` at a moderate speed.

### StaticFacialAnimation

```luau
HumanoidDescription.StaticFacialAnimation: boolean = false
```

- Tags: Capabilities: AvatarAppearance

When `true`, disables facial animations on a Dynamic Head, displaying a static mood pose instead. Defaults to `false`.

### SwimAnimation

```luau
HumanoidDescription.SwimAnimation: number = 0
```

- Tags: Read capabilities: AvatarAppearance

When this description is `applied` to a [`Humanoid`](https://rapi.sleaze.dev/classes/Humanoid.md), this determines the [`Animation.AnimationId`](https://rapi.sleaze.dev/classes/Animation.md) to play when its `state` is `Swimming`.

### WalkAnimation

```luau
HumanoidDescription.WalkAnimation: number = 0
```

- Tags: Read capabilities: AvatarAppearance

When this description is `applied` to a [`Humanoid`](https://rapi.sleaze.dev/classes/Humanoid.md), this determines the [`Animation.AnimationId`](https://rapi.sleaze.dev/classes/Animation.md) to play when its `state` is `Running` at a low speed.

### HeadColor

```luau
HumanoidDescription.HeadColor: Color3 = Color3.new(0, 0, 0)
```

- Tags: Not replicated, Read capabilities: AvatarAppearance, Load only

Determines the [`BodyColors.HeadColor3`](https://rapi.sleaze.dev/classes/BodyColors.md) and [`BodyColors.HeadColor`](https://rapi.sleaze.dev/classes/BodyColors.md) of a [`Humanoid`](https://rapi.sleaze.dev/classes/Humanoid.md) when `applied`.

### LeftArmColor

```luau
HumanoidDescription.LeftArmColor: Color3 = Color3.new(0, 0, 0)
```

- Tags: Not replicated, Read capabilities: AvatarAppearance, Load only

Determines the [`BodyColors.LeftArmColor3`](https://rapi.sleaze.dev/classes/BodyColors.md) and [`BodyColors.LeftArmColor`](https://rapi.sleaze.dev/classes/BodyColors.md) of a [`Humanoid`](https://rapi.sleaze.dev/classes/Humanoid.md) when applied.

### LeftLegColor

```luau
HumanoidDescription.LeftLegColor: Color3 = Color3.new(0, 0, 0)
```

- Tags: Not replicated, Read capabilities: AvatarAppearance, Load only

Determines the [`BodyColors.LeftLegColor3`](https://rapi.sleaze.dev/classes/BodyColors.md) and [`BodyColors.LeftLegColor`](https://rapi.sleaze.dev/classes/BodyColors.md) of a [`Humanoid`](https://rapi.sleaze.dev/classes/Humanoid.md) when applied.

### RightArmColor

```luau
HumanoidDescription.RightArmColor: Color3 = Color3.new(0, 0, 0)
```

- Tags: Not replicated, Read capabilities: AvatarAppearance, Load only

Determines the [`BodyColors.RightArmColor3`](https://rapi.sleaze.dev/classes/BodyColors.md) and [`BodyColors.RightArmColor`](https://rapi.sleaze.dev/classes/BodyColors.md) of a Humanoid when applied.

### RightLegColor

```luau
HumanoidDescription.RightLegColor: Color3 = Color3.new(0, 0, 0)
```

- Tags: Not replicated, Read capabilities: AvatarAppearance, Load only

Determines the [`BodyColors.RightLegColor3`](https://rapi.sleaze.dev/classes/BodyColors.md) and [`BodyColors.RightLegColor`](https://rapi.sleaze.dev/classes/BodyColors.md) of a Humanoid when applied.

### TorsoColor

```luau
HumanoidDescription.TorsoColor: Color3 = Color3.new(0, 0, 0)
```

- Tags: Not replicated, Read capabilities: AvatarAppearance, Load only

Determines the [`BodyColors.TorsoColor3`](https://rapi.sleaze.dev/classes/BodyColors.md) and [`BodyColors.TorsoColor`](https://rapi.sleaze.dev/classes/BodyColors.md) of a Humanoid when applied.

### Face

```luau
HumanoidDescription.Face: number = 0
```

- Tags: Read capabilities: AvatarAppearance

Determines the asset ID of the Face to be applied to the [`Humanoid`](https://rapi.sleaze.dev/classes/Humanoid.md).

### Head

```luau
HumanoidDescription.Head: number = 0
```

- Tags: Not replicated, Read capabilities: AvatarAppearance, Load only

Determines the asset ID of the Head to be applied to the [`Humanoid`](https://rapi.sleaze.dev/classes/Humanoid.md).

### LeftArm

```luau
HumanoidDescription.LeftArm: number = 0
```

- Tags: Not replicated, Read capabilities: AvatarAppearance, Load only

Determines the asset ID of the LeftArm to be applied to the [`Humanoid`](https://rapi.sleaze.dev/classes/Humanoid.md).

### LeftLeg

```luau
HumanoidDescription.LeftLeg: number = 0
```

- Tags: Not replicated, Read capabilities: AvatarAppearance, Load only

Determines the asset ID of the LeftLeg to be applied to the [`Humanoid`](https://rapi.sleaze.dev/classes/Humanoid.md).

### RightArm

```luau
HumanoidDescription.RightArm: number = 0
```

- Tags: Not replicated, Read capabilities: AvatarAppearance, Load only

Determines the asset ID of the RightArm to be applied to the [`Humanoid`](https://rapi.sleaze.dev/classes/Humanoid.md).

### RightLeg

```luau
HumanoidDescription.RightLeg: number = 0
```

- Tags: Not replicated, Read capabilities: AvatarAppearance, Load only

Determines the asset ID of the RightLeg to be applied to the [`Humanoid`](https://rapi.sleaze.dev/classes/Humanoid.md).

### Torso

```luau
HumanoidDescription.Torso: number = 0
```

- Tags: Not replicated, Read capabilities: AvatarAppearance, Load only

Determines the asset ID of the Torso to be applied to the [`Humanoid`](https://rapi.sleaze.dev/classes/Humanoid.md).

### GraphicTShirt

```luau
HumanoidDescription.GraphicTShirt: number = 0
```

- Tags: Read capabilities: AvatarAppearance

Determines the `Graphic` used by a [`ShirtGraphic`](https://rapi.sleaze.dev/classes/ShirtGraphic.md).

### Pants

```luau
HumanoidDescription.Pants: number = 0
```

- Tags: Read capabilities: AvatarAppearance

Determines the `PantsTemplate` used by a [`Pants`](https://rapi.sleaze.dev/classes/Pants.md) instance.

### Shirt

```luau
HumanoidDescription.Shirt: number = 0
```

- Tags: Read capabilities: AvatarAppearance

Determines the `ShirtTemplate` used by a [`Shirt`](https://rapi.sleaze.dev/classes/Shirt.md) instance.

### EmotesDataInternal

```luau
HumanoidDescription.EmotesDataInternal: string = ""
```

- Tags: Hidden, Not scriptable, Read capabilities: AvatarAppearance

### EquippedEmotesDataInternal

```luau
HumanoidDescription.EquippedEmotesDataInternal: string = ""
```

- Tags: Hidden, Not scriptable, Read capabilities: AvatarAppearance

### ResetIncludesBodyParts

```luau
HumanoidDescription.ResetIncludesBodyParts: boolean = true
```

- Tags: Hidden, Roblox script security, Read capabilities: AvatarAppearance

### UseAvatarSettings

```luau
HumanoidDescription.UseAvatarSettings: boolean = false
```

- Tags: Read capabilities: AvatarAppearance

When `true`, applying this description also applies the experience's Avatar Settings to the resulting model. Defaults to `false`.

### BodyTypeScale

```luau
HumanoidDescription.BodyTypeScale: number = 0.300000012
```

- Tags: Read capabilities: AvatarAppearance

Determines the factor by which the shape of a [`Humanoid`](https://rapi.sleaze.dev/classes/Humanoid.md) is interpolated from the standard R15 body shape (0) to a taller and more slender body type (1).

### DepthScale

```luau
HumanoidDescription.DepthScale: number = 1
```

- Tags: Read capabilities: AvatarAppearance

Determines by what factor the depth (back-to-front distance) of a [`Humanoid`](https://rapi.sleaze.dev/classes/Humanoid.md) is scaled.

### HeadScale

```luau
HumanoidDescription.HeadScale: number = 1
```

- Tags: Read capabilities: AvatarAppearance

Determines by what factor the **Head** object of a [`Humanoid`](https://rapi.sleaze.dev/classes/Humanoid.md) is scaled, as well as any accessories attached to it.

### HeightScale

```luau
HumanoidDescription.HeightScale: number = 1
```

- Tags: Read capabilities: AvatarAppearance

Determines by what factor the height (top-to-bottom distance) of a [`Humanoid`](https://rapi.sleaze.dev/classes/Humanoid.md) is scaled, as well as all accessories not attached to its head.

### ProportionScale

```luau
HumanoidDescription.ProportionScale: number = 1
```

- Tags: Read capabilities: AvatarAppearance

Determines how wide (0) or narrow (1) a [`Humanoid`](https://rapi.sleaze.dev/classes/Humanoid.md) rig is.

### WidthScale

```luau
HumanoidDescription.WidthScale: number = 1
```

- Tags: Read capabilities: AvatarAppearance

Determines by what factor the width (left-to-right distance) of a [`Humanoid`](https://rapi.sleaze.dev/classes/Humanoid.md) is scaled, as well as all accessories not attached to its head.

## Methods

### AddEmote

```luau
HumanoidDescription:AddEmote(name: string, assetId: number)
```

- Tags: Capabilities: AvatarAppearance

Adds the emote to the description given a name and its asset ID.

Parameters:

- `name`: A string that identifies what emote is being added. Example: `"Salute"`.
- `assetId`: An emote asset ID.

### GetAccessories

```luau
HumanoidDescription:GetAccessories(includeRigidAccessories: boolean): { any }
```

- Tags: Capabilities: AvatarAppearance

Returns a table of an avatar's current accessories.

Parameters:

- `includeRigidAccessories`: 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: Returns an array where each entry specifies for an individual accessory the AccessoryType, AssetId, IsLayered, Order and Puffiness.

### GetEmotes

```luau
HumanoidDescription:GetEmotes(): { [string]: any }
```

- Tags: Capabilities: AvatarAppearance

Returns a dictionary of emotes that have been `added` or `set` to this description.

Returns: A dictionary of emotes where the key is the emote name and the value is an array of emote asset IDs. Example:

```luau
{     Salute = {3360689775},     Agree = {4849487550},     Disagree = {4849495710} }
```

 .

### GetEquippedEmotes

```luau
HumanoidDescription:GetEquippedEmotes(): { any }
```

- Tags: Capabilities: AvatarAppearance

Returns an array of tables describing the equipped emotes that have been `set`.

Returns: An array of tables describing the name and slot which each emote is equipped. Example:

```luau
{     {Slot = 3, Name = "Salute"},     {Slot = 2, Name = "Agree"},     {Slot = 1, Name = "Disagree"}, }
```

 .

### RemoveEmote

```luau
HumanoidDescription:RemoveEmote(name: string)
```

- Tags: Capabilities: AvatarAppearance

Removes any emotes that have been added under the given name.

Parameters:

- `name`: The name of the emote as it was `set` or `added`.

### SetAccessories

```luau
HumanoidDescription:SetAccessories(accessories: { any }, includeRigidAccessories: boolean)
```

- Tags: Capabilities: AvatarAppearance

Accepts a table that sets the accessories and related properties for an avatar.

Parameters:

- `accessories`: Each entry specifies for an individual accessory the AccessoryType, AssetId, IsLayered, Order and Puffiness.
- `includeRigidAccessories`: Set to true if rigid accessories are also included in the passed in array (they would have to not specify Order).

### SetEmotes

```luau
HumanoidDescription:SetEmotes(emotes: { [string]: any })
```

- Tags: Capabilities: AvatarAppearance

Sets all of the emotes on this description.

Parameters:

- `emotes`: A dictionary of emotes where the key is the emote name and the value is an array of emote asset IDs. Example:

```luau
{     Salute = {3360689775},     Agree = {4849487550},     Disagree = {4849495710} }
```

 .

### SetEquippedEmotes

```luau
HumanoidDescription:SetEquippedEmotes(equippedEmotes: { any })
```

- Tags: Capabilities: AvatarAppearance

Sets the currently equipped emotes given an array of emote names.

Parameters:

- `equippedEmotes`: An array of emote names. Example:

```luau
{ "Disagree", "Agree", "Salute" }
```

 – OR – An array of tables describing the name and slot which each emote is equipped. Example:

```luau
{     {Slot = 3, Name = "Salute"},     {Slot = 2, Name = "Agree"},     {Slot = 1, Name = "Disagree"}, }
```

 .

## Events

### EmotesChanged

```luau
HumanoidDescription.EmotesChanged: RBXScriptSignal<(newEmotes: { [string]: any })>
```

- Tags: Capabilities: AvatarAppearance

Fires when emotes are added, removed or set on this description.

### EquippedEmotesChanged

```luau
HumanoidDescription.EquippedEmotesChanged: RBXScriptSignal<(newEquippedEmotes: { any })>
```

- Tags: Capabilities: AvatarAppearance

Fires when the equipped emotes are `set` on this description.

## Inherited members

- From [Instance](https://rapi.sleaze.dev/classes/Instance.md): `Archivable`, `archivable`, `Attributes`, `AttributesReplicate`, `AttributesSerialize`, `HistoryId`, `Name`, `Parent`, `PredictionMode`, `PropertyStatusStudio`, `RobloxLocked`, `SerializedOverrides`, `SourceAssetId`, `Tags`, `UniqueId`, `numExpectedDirectChildren`, `DataCost`, `Capabilities`, `DefinesCapabilities`, `IsInSandbox`, `Sandboxed`, `AddTag`, `ClearAllChildren`, `Clone`, `Destroy`, `FindFirstAncestor`, `FindFirstAncestorOfClass`, `FindFirstAncestorWhichIsA`, `FindFirstChild`, `FindFirstChildOfClass`, `FindFirstChildWhichIsA`, `FindFirstDescendant`, `GetActor`, `GetAttribute`, `GetAttributeChangedSignal`, `GetAttributes`, `GetChildren`, `GetDebugId`, `GetDescendants`, `GetFullName`, `GetStyled`, `GetStyledPropertyChangedSignal`, `GetTags`, `HasTag`, `IsAncestorOf`, `IsDescendantOf`, `IsPropertyModified`, `QueryDescendants`, `RemoveTag`, `ResetPropertyToDefault`, `SetAttribute`, `WaitForChild`, `Remove`, `children`, `clone`, `destroy`, `findFirstChild`, `getChildren`, `isDescendantOf`, `remove`, `AncestryChanged`, `AttributeChanged`, `ChildAdded`, `ChildRemoved`, `DescendantAdded`, `DescendantRemoving`, `Destroying`, `StyledPropertiesChanged`, `childAdded`
- From [Object](https://rapi.sleaze.dev/classes/Object.md): `ClassName`, `className`, `GetPropertyChangedSignal`, `IsA`, `isA`, `Changed`
