Humanoid
A special object that gives models the functionality of a character.
Memory category | Instances |
---|
Member index 116
Removed member index 3
History | Member | |
---|---|---|
596 | ApplyDescriptionBlocking(humanoidDescription: HumanoidDescription): null | |
463 | PlayEmoteById(emoteName: string, emoteId: int64): bool |
Description
The Humanoid is a special object that gives models the functionality of a
character. It grants the model with the ability to physically walk around and
interact with various components of a Roblox experience. Humanoids are always
parented inside of a Model, and the model is expected to be an
assembly of BasePart and Motor6D; the root part of the
assembly is expected to be named HumanoidRootPart
. It also expects a part
named Head
to be connected to the character's torso part, either directly or
indirectly. By default, there are two official types of character rigs
supplied by Roblox, each with their own set of rules:
R6
- A basic character rig that uses 6 parts for limbs.
- The
Head
part must be attached to a part namedTorso
, or the Humanoid will die immediately. - BodyPart appearances are applied using CharacterMesh objects.
- Certain properties, such as Humanoid.LeftLeg and Humanoid.RightLeg, only work with R6.
R15
- More complex than R6, but also far more flexible and robust.
- Uses 15 parts for limbs.
- The
Head
part must be attached to a part namedUpperTorso
or the Humanoid will die immediately. - BodyPart appearances have to be assembled directly.
- Can be dynamically rescaled by using special NumberValue objects parented inside of the Humanoid.
- The Humanoid will automatically create Vector3Value objects named
OriginalSize
inside of each limb. - If a NumberValue is parented inside of the Humanoid and is named one of the
following, it will be used to control the scaling functionality:
- BodyDepthScale
- BodyHeightScale
- BodyWidthScale
- HeadScale
History 397
- 636 Change Tags of GetMoveVelocity from [NotBrowsable] to []
- 632 Add ApplyDescriptionFinished
- 596 Change Tags of EvaluateStateMachine from [NotBrowsable] to []
- 596 Remove ApplyDescriptionBlocking
- 583 Add GetMoveVelocity
- 576 Add
- 573 Change ReturnType of takeDamage from void to null
- 573 Change ReturnType of UnequipTools from void to null
- 573 Change ReturnType of TakeDamage from void to null
- 573 Change ReturnType of SetStateEnabled from void to null
- 573 Change ReturnType of SetClickToWalkEnabled from void to null
- 573 Change ReturnType of RemoveAccessories from void to null
- 573 Change ReturnType of MoveTo from void to null
- 573 Change ReturnType of Move from void to null
- 573 Change ReturnType of EquipTool from void to null
- 573 Change ReturnType of ChangeState from void to null
- 573 Change ReturnType of CacheDefaults from void to null
- 573 Change ReturnType of BuildRigFromAttachments from void to null
- 573 Change ReturnType of ApplyDescriptionReset from void to null
- 573 Change ReturnType of ApplyDescriptionClientServer from void to null
- 573 Change ReturnType of ApplyDescriptionBlocking from void to null
- 573 Change ReturnType of ApplyDescription from void to null
- 573 Change ReturnType of AddAccessory from void to null
- 566 Change ThreadSafety of GetStateEnabled from Unsafe to Safe
- 566 Change ThreadSafety of GetState from Unsafe to Safe
- 557 Add
- 554 Remove
- 555 Add
- 553 Add
- 553 Add
- 553 Change PreferredDescriptor of AnimationPlayed from to AnimationPlayed
- 553 Change PreferredDescriptor of takeDamage from to TakeDamage
- 553 Change PreferredDescriptor of loadAnimation from to LoadAnimation
- 553 Change PreferredDescriptor of LoadAnimation from to LoadAnimation
- 553 Change PreferredDescriptor of GetPlayingAnimationTracks from to GetPlayingAnimationTracks
- 553 Change PreferredDescriptor of maxHealth from to MaxHealth
- 553 Change Default of maxHealth from to 100
- 553 Change Default of WalkToPoint from to Vector3(0, 0, 0)
- 553 Change Default of WalkToPart from to
- 553 Change Default of WalkSpeed from to 16
- 553 Add
- 553 Add
- 553 Change Default of UseJumpPower from to true
- 553 Change Default of from to
- 553 Change Default of TargetPoint from to Vector3(0, 0, 0)
- 553 Add
- 553 Change Default of Sit from to false
- 553 Change Default of SeatPart from to
- 553 Change Default of RootPart from to
- 553 Change Default of from to
- 553 Change Default of RigType from to R6
- 553 Change Default of RequiresNeck from to true
- 553 Change Default of PlatformStand from to false
- 553 Add
- 553 Change Default of NameOcclusion from to OccludeAll
- 553 Change Default of NameDisplayDistance from to 100
- 553 Add
- 553 Change Default of MoveDirection from to Vector3(0, 0, 0)
- 553 Change Default of MaxSlopeAngle from to 89
- 553 Change Default of MaxHealth from to 100
- 553 Change Default of from to
- 553 Add
- 553 Change Default of JumpPower from to 50
- 553 Change Default of JumpHeight from to 7.19999981
- 553 Change Default of Jump from to false
- 553 Add
- 553 Add
- 553 Add
- 553 Change Default of HipHeight from to 0
- 553 Add
- 553 Change Default of HealthDisplayType from to DisplayWhenDamaged
- 553 Change Default of HealthDisplayDistance from to 100
- 553 Change Default of Health from to 100
- 553 Change Default of FloorMaterial from to Air
- 553 Change Default of EvaluateStateMachine from to true
- 553 Change Default of DisplayDistanceType from to Viewer
- 553 Change Default of CollisionType from to OuterBox
- 553 Change Default of CameraOffset from to Vector3(0, 0, 0)
- 553 Add
- 553 Add
- 553 Add
- 553 Change Default of BreakJointsOnDeath from to true
- 553 Change Default of AutomaticScalingEnabled from to true
- 553 Change Default of AutoRotate from to true
- 553 Change Default of AutoJumpEnabled from to true
- 547 Add EvaluateStateMachine
- 541 Change Parameters of EmoteTriggered from (successAndTrackTuple: Tuple) to (success: bool, animationTrack: AnimationTrack)
- 539 Add EmoteTriggered
- 524 Add ApplyDescriptionReset
- 494 Add GetAccessoryHandleScale
- 492 Change Tags of CollisionType from [] to [Deprecated]
- 486 Change Parameters of Touched from (touchingPart: Instance, humanoidPart: Instance) to (touchingPart: BasePart, humanoidPart: BasePart)
- 486 Change Parameters of Seated from (active: bool, currentSeatPart: Instance) to (active: bool, currentSeatPart: BasePart)
- 486 Change Parameters of AnimationPlayed from (animationTrack: Instance) to (animationTrack: AnimationTrack)
- 486 Change Parameters of loadAnimation from (animation: Instance) to (animation: Animation)
- 486 Change ReturnType of loadAnimation from Instance to AnimationTrack
- 486 Change Parameters of ReplaceBodyPartR15 from (bodyPart: BodyPartR15, part: Instance) to (bodyPart: BodyPartR15, part: BasePart)
- 486 Change Parameters of LoadAnimation from (animation: Instance) to (animation: Animation)
- 486 Change ReturnType of LoadAnimation from Instance to AnimationTrack
- 486 Change ReturnType of GetAppliedDescription from Instance to HumanoidDescription
- 486 Change Parameters of ApplyDescriptionClientServer from (humanoidDescription: Instance) to (humanoidDescription: HumanoidDescription)
- 486 Change Parameters of ApplyDescriptionBlocking from (humanoidDescription: Instance) to (humanoidDescription: HumanoidDescription)
- 486 Change Parameters of ApplyDescription from (humanoidDescription: Instance, assetTypeVerification: AssetTypeVerification = Default) to (humanoidDescription: HumanoidDescription, assetTypeVerification: AssetTypeVerification = Default)
- 486 Change ThreadSafety of maxHealth from ReadOnly to ReadSafe
- 486 Change ThreadSafety of WalkToPoint from ReadOnly to ReadSafe
- 486 Change ThreadSafety of WalkToPart from ReadOnly to ReadSafe
- 486 Change ThreadSafety of WalkSpeed from ReadOnly to ReadSafe
- 486 Change ThreadSafety of UseJumpPower from ReadOnly to ReadSafe
- 486 Change ThreadSafety of from ReadOnly to ReadSafe
- 486 Change ThreadSafety of TargetPoint from ReadOnly to ReadSafe
- 486 Change ThreadSafety of Sit from ReadOnly to ReadSafe
- 486 Change ThreadSafety of SeatPart from ReadOnly to ReadSafe
- 486 Change ThreadSafety of RootPart from ReadOnly to ReadSafe
- 486 Change ThreadSafety of from ReadOnly to ReadSafe
- 486 Change ThreadSafety of RigType from ReadOnly to ReadSafe
- 486 Change ThreadSafety of RequiresNeck from ReadOnly to ReadSafe
- 486 Change ThreadSafety of PlatformStand from ReadOnly to ReadSafe
- 486 Change ThreadSafety of NameOcclusion from ReadOnly to ReadSafe
- 486 Change ThreadSafety of NameDisplayDistance from ReadOnly to ReadSafe
- 486 Change ThreadSafety of MoveDirection from ReadOnly to ReadSafe
- 486 Change ThreadSafety of MaxSlopeAngle from ReadOnly to ReadSafe
- 486 Change ThreadSafety of MaxHealth from ReadOnly to ReadSafe
- 486 Change ThreadSafety of from ReadOnly to ReadSafe
- 486 Change ThreadSafety of JumpPower from ReadOnly to ReadSafe
- 486 Change ThreadSafety of JumpHeight from ReadOnly to ReadSafe
- 486 Change ThreadSafety of Jump from ReadOnly to ReadSafe
- 486 Change ThreadSafety of HipHeight from ReadOnly to ReadSafe
- 486 Change ThreadSafety of HealthDisplayType from ReadOnly to ReadSafe
- 486 Change ThreadSafety of HealthDisplayDistance from ReadOnly to ReadSafe
- 486 Change ThreadSafety of Health from ReadOnly to ReadSafe
- 486 Change ThreadSafety of FloorMaterial from ReadOnly to ReadSafe
- 486 Change ThreadSafety of DisplayName from ReadOnly to ReadSafe
- 486 Change ThreadSafety of DisplayDistanceType from ReadOnly to ReadSafe
- 486 Change ThreadSafety of CollisionType from ReadOnly to ReadSafe
- 486 Change ThreadSafety of CameraOffset from ReadOnly to ReadSafe
- 486 Change ThreadSafety of BreakJointsOnDeath from ReadOnly to ReadSafe
- 486 Change ThreadSafety of AutomaticScalingEnabled from ReadOnly to ReadSafe
- 486 Change ThreadSafety of AutoRotate from ReadOnly to ReadSafe
- 486 Change ThreadSafety of AutoJumpEnabled from ReadOnly to ReadSafe
- 485 Add ClusterCompositionFinished
- 463 Remove PlayEmoteById
- 462 Change ThreadSafety of Touched from to Unsafe
- 462 Change ThreadSafety of Swimming from to Unsafe
- 462 Change ThreadSafety of Strafing from to Unsafe
- 462 Change ThreadSafety of StatusRemoved from to Unsafe
- 462 Change ThreadSafety of StatusAdded from to Unsafe
- 462 Change ThreadSafety of StateEnabledChanged from to Unsafe
- 462 Change ThreadSafety of StateChanged from to Unsafe
- 462 Change ThreadSafety of Seated from to Unsafe
- 462 Change ThreadSafety of Running from to Unsafe
- 462 Change ThreadSafety of Ragdoll from to Unsafe
- 462 Change ThreadSafety of PlatformStanding from to Unsafe
- 462 Change ThreadSafety of MoveToFinished from to Unsafe
- 462 Change ThreadSafety of Jumping from to Unsafe
- 462 Change ThreadSafety of HealthChanged from to Unsafe
- 462 Change ThreadSafety of GettingUp from to Unsafe
- 462 Change ThreadSafety of FreeFalling from to Unsafe
- 462 Change ThreadSafety of FallingDown from to Unsafe
- 462 Change ThreadSafety of Died from to Unsafe
- 462 Change ThreadSafety of CustomStatusRemoved from to Unsafe
- 462 Change ThreadSafety of CustomStatusAdded from to Unsafe
- 462 Change ThreadSafety of Climbing from to Unsafe
- 462 Change ThreadSafety of AnimationPlayed from to Unsafe
- 462 Change ThreadSafety of takeDamage from to Unsafe
- 462 Change ThreadSafety of loadAnimation from to Unsafe
- 462 Change ThreadSafety of UnequipTools from to Unsafe
- 462 Change ThreadSafety of TakeDamage from to Unsafe
- 462 Change ThreadSafety of SetStateEnabled from to Unsafe
- 462 Change ThreadSafety of SetClickToWalkEnabled from to Unsafe
- 462 Change ThreadSafety of ReplaceBodyPartR15 from to Unsafe
- 462 Change ThreadSafety of RemoveStatus from to Unsafe
- 462 Change ThreadSafety of RemoveCustomStatus from to Unsafe
- 462 Change ThreadSafety of RemoveAccessories from to Unsafe
- 462 Change ThreadSafety of PlayEmoteById from to Unsafe
- 462 Change ThreadSafety of PlayEmoteAndGetAnimTrackById from to Unsafe
- 462 Change ThreadSafety of PlayEmote from to Unsafe
- 462 Change ThreadSafety of MoveTo from to Unsafe
- 462 Change ThreadSafety of Move from to Unsafe
- 462 Change ThreadSafety of LoadAnimation from to Unsafe
- 462 Change ThreadSafety of HasStatus from to Unsafe
- 462 Change ThreadSafety of HasCustomStatus from to Unsafe
- 462 Change ThreadSafety of GetStatuses from to Unsafe
- 462 Change ThreadSafety of GetStateEnabled from to Unsafe
- 462 Change ThreadSafety of GetState from to Unsafe
- 462 Change ThreadSafety of GetPlayingAnimationTracks from to Unsafe
- 462 Change ThreadSafety of GetLimb from to Unsafe
- 462 Change ThreadSafety of GetBodyPartR15 from to Unsafe
- 462 Change ThreadSafety of GetAppliedDescription from to Unsafe
- 462 Change ThreadSafety of GetAccessories from to Unsafe
- 462 Change ThreadSafety of EquipTool from to Unsafe
- 462 Change ThreadSafety of ChangeState from to Unsafe
- 462 Change ThreadSafety of CacheDefaults from to Unsafe
- 462 Change ThreadSafety of BuildRigFromAttachments from to Unsafe
- 462 Change ThreadSafety of ApplyDescriptionClientServer from to Unsafe
- 462 Change ThreadSafety of ApplyDescriptionBlocking from to Unsafe
- 462 Change ThreadSafety of ApplyDescription from to Unsafe
- 462 Change ThreadSafety of AddStatus from to Unsafe
- 462 Change ThreadSafety of AddCustomStatus from to Unsafe
- 462 Change ThreadSafety of AddAccessory from to Unsafe
- 462 Change ThreadSafety of maxHealth from to ReadOnly
- 462 Change ThreadSafety of WalkToPoint from to ReadOnly
- 462 Change ThreadSafety of WalkToPart from to ReadOnly
- 462 Change ThreadSafety of WalkSpeed from to ReadOnly
- 462 Change ThreadSafety of UseJumpPower from to ReadOnly
- 462 Change ThreadSafety of from to ReadOnly
- 462 Change ThreadSafety of TargetPoint from to ReadOnly
- 462 Change ThreadSafety of Sit from to ReadOnly
- 462 Change ThreadSafety of SeatPart from to ReadOnly
- 462 Change ThreadSafety of RootPart from to ReadOnly
- 462 Change ThreadSafety of from to ReadOnly
- 462 Change ThreadSafety of RigType from to ReadOnly
- 462 Change ThreadSafety of RequiresNeck from to ReadOnly
- 462 Change ThreadSafety of PlatformStand from to ReadOnly
- 462 Change ThreadSafety of NameOcclusion from to ReadOnly
- 462 Change ThreadSafety of NameDisplayDistance from to ReadOnly
- 462 Change ThreadSafety of MoveDirection from to ReadOnly
- 462 Change ThreadSafety of MaxSlopeAngle from to ReadOnly
- 462 Change ThreadSafety of MaxHealth from to ReadOnly
- 462 Change ThreadSafety of from to ReadOnly
- 462 Change ThreadSafety of JumpPower from to ReadOnly
- 462 Change ThreadSafety of JumpHeight from to ReadOnly
- 462 Change ThreadSafety of Jump from to ReadOnly
- 462 Change ThreadSafety of HipHeight from to ReadOnly
- 462 Change ThreadSafety of HealthDisplayType from to ReadOnly
- 462 Change ThreadSafety of HealthDisplayDistance from to ReadOnly
- 462 Change ThreadSafety of Health from to ReadOnly
- 462 Change ThreadSafety of FloorMaterial from to ReadOnly
- 462 Change ThreadSafety of DisplayName from to ReadOnly
- 462 Change ThreadSafety of DisplayDistanceType from to ReadOnly
- 462 Change ThreadSafety of CollisionType from to ReadOnly
- 462 Change ThreadSafety of CameraOffset from to ReadOnly
- 462 Change ThreadSafety of BreakJointsOnDeath from to ReadOnly
- 462 Change ThreadSafety of AutomaticScalingEnabled from to ReadOnly
- 462 Change ThreadSafety of AutoRotate from to ReadOnly
- 462 Change ThreadSafety of AutoJumpEnabled from to ReadOnly
- 458 Add PlayEmoteAndGetAnimTrackById
- 454 Change Tags of AnimationPlayed from [] to [Deprecated]
- 454 Change Tags of LoadAnimation from [] to [Deprecated]
- 454 Change Tags of GetPlayingAnimationTracks from [] to [Deprecated]
- 454 Change Parameters of ApplyDescription from (humanoidDescription: Instance) to (humanoidDescription: Instance, assetTypeVerification: AssetTypeVerification = Default)
- 452 Change Tags of AnimationPlayed from [Deprecated] to []
- 452 Change Tags of LoadAnimation from [Deprecated] to []
- 452 Change Tags of GetPlayingAnimationTracks from [Deprecated] to []
- 452 Change Parameters of ApplyDescription from (humanoidDescription: Instance, assetTypeVerification: AssetTypeVerification = Default) to (humanoidDescription: Instance)
- 453 Change Tags of AnimationPlayed from [] to [Deprecated]
- 453 Change Tags of LoadAnimation from [] to [Deprecated]
- 453 Change Tags of GetPlayingAnimationTracks from [] to [Deprecated]
- 453 Change Parameters of ApplyDescription from (humanoidDescription: Instance) to (humanoidDescription: Instance, assetTypeVerification: AssetTypeVerification = Default)
- 452 Add ApplyDescriptionBlocking
- 425 Add RequiresNeck
- 425 Add DisplayName
- 394 Add PlayEmoteById
- 384 Add PlayEmote
- 382 Add ApplyDescriptionClientServer
- 377 Change Category of UseJumpPower from Game to Jump Settings
- 377 Change Category of JumpPower from Game to Jump Settings
- 377 Change Category of JumpHeight from Game to Jump Settings
- 377 Change Category of AutoJumpEnabled from Control to Jump Settings
- 376 Add CollisionType
- 375 Add UseJumpPower
- 375 Add JumpHeight
- 369 Add BreakJointsOnDeath
- 366 Add GetAppliedDescription
- 366 Add CacheDefaults
- 366 Add ApplyDescription
- 349 Add AutomaticScalingEnabled
- 348 Add ReplaceBodyPartR15
- 348 Add GetBodyPartR15
- 329 Change ValueType of WalkToPart from Object to BasePart
- 329 Change ValueType of from Object to BasePart
- 329 Change ValueType of SeatPart from Object to BasePart
- 329 Change ValueType of RootPart from Object to BasePart
- 329 Change ValueType of from Object to BasePart
- 329 Change ValueType of from Object to BasePart
- 308 Add FloorMaterial
- 299 Change Tags of from [Hidden, NotReplicated] to [Hidden, NotReplicated, Deprecated]
- 299 Add RootPart
- 299 Change Tags of from [Hidden, NotReplicated] to [Hidden, NotReplicated, Deprecated]
- 299 Change Tags of from [Hidden, NotReplicated] to [Hidden, NotReplicated, Deprecated]
- 290 Add BuildRigFromAttachments
- 272 Change Tags of from [NotReplicated] to [Hidden, NotReplicated]
- 272 Change Tags of from [NotReplicated] to [Hidden, NotReplicated]
- 272 Change Tags of from [NotReplicated] to [Hidden, NotReplicated]
- 271 Add HealthDisplayType
- 265 Add Touched
- 265 Add RemoveAccessories
- 265 Add GetLimb
- 265 Add GetAccessories
- 265 Add AddAccessory
- 264 Remove Touched
- 264 Remove RemoveAccessories
- 264 Remove GetLimb
- 264 Remove GetAccessories
- 264 Remove AddAccessory
- 265 Add Touched
- 265 Add RemoveAccessories
- 265 Add GetLimb
- 265 Add GetAccessories
- 265 Add AddAccessory
- 233 Add RigType
- 231 Add StateEnabledChanged
- 227 Add HipHeight
- 210 Add MaxSlopeAngle
- 210 Add JumpPower
- 208 Change Tags of StatusRemoved from [] to [Deprecated]
- 208 Change Tags of StatusAdded from [] to [Deprecated]
- 208 Change Tags of CustomStatusRemoved from [] to [Deprecated]
- 208 Change Tags of CustomStatusAdded from [] to [Deprecated]
- 208 Change Tags of RemoveStatus from [] to [Deprecated]
- 208 Change Tags of RemoveCustomStatus from [] to [Deprecated]
- 208 Change Tags of HasStatus from [] to [Deprecated]
- 208 Change Tags of HasCustomStatus from [] to [Deprecated]
- 208 Change Tags of GetStatuses from [] to [Deprecated]
- 208 Change Tags of AddStatus from [] to [Deprecated]
- 208 Change Tags of AddCustomStatus from [] to [Deprecated]
- 206 Add AutoJumpEnabled
- 205 Add SetStateEnabled
- 205 Add GetStateEnabled
- 205 Add GetPlayingAnimationTracks
- 204 Add AnimationPlayed
- 196 Change Parameters of Seated from (active: bool) to (active: bool, currentSeatPart: Instance)
- 196 Add SeatPart
- 187 Add MoveToFinished
- 187 Add NameDisplayDistance
- 187 Add HealthDisplayDistance
- 187 Add DisplayDistanceType
- 163 Add Move
- 163 Add MoveDirection
- 152 Add CameraOffset
- 148 Change Parameters of MoveTo from (location: Vector3, part: Instance) to (location: Vector3, part: Instance = Instance)
- 147 Add StateChanged
- 147 Add GetState
- 147 Add ChangeState
- 147 Add AutoRotate
- 79 Change Tags of UnequipTools from [preliminary] to []
- 79 Change Tags of EquipTool from [preliminary] to []
- 79 Change Tags of NameOcclusion from [preliminary] to []
- 78 Change Tags of UnequipTools from [] to [preliminary]
- 78 Change Tags of EquipTool from [] to [preliminary]
- 78 Change Tags of NameOcclusion from [] to [preliminary]
- 79 Change Tags of UnequipTools from [preliminary] to []
- 79 Change Tags of EquipTool from [preliminary] to []
- 79 Change Tags of NameOcclusion from [preliminary] to []
- 68 Add maxHealth
- 61 Add Swimming
- 59 Remove
- 57 Add Ragdoll
- 55 Change Tags of UnequipTools from [] to [preliminary]
- 55 Change Tags of TakeDamage from [preliminary] to []
- 55 Change Tags of MoveTo from [preliminary] to []
- 55 Change Tags of EquipTool from [] to [preliminary]
- 55 Add
- 55 Change Tags of NameOcclusion from [] to [preliminary]
- 51 Add UnequipTools
- 51 Add EquipTool
- 51 Add NameOcclusion
- 49 Add takeDamage
- 49 Add loadAnimation
- 47 Add Strafing
- 47 Add StatusRemoved
- 47 Add StatusAdded
- 47 Add Seated
- 47 Add Running
- 47 Add PlatformStanding
- 47 Add Jumping
- 47 Add HealthChanged
- 47 Add GettingUp
- 47 Add FreeFalling
- 47 Add FallingDown
- 47 Add Died
- 47 Add CustomStatusRemoved
- 47 Add CustomStatusAdded
- 47 Add Climbing
- 47 Add TakeDamage
- 47 Add SetClickToWalkEnabled
- 47 Add RemoveStatus
- 47 Add RemoveCustomStatus
- 47 Add MoveTo
- 47 Add LoadAnimation
- 47 Add HasStatus
- 47 Add HasCustomStatus
- 47 Add GetStatuses
- 47 Add AddStatus
- 47 Add AddCustomStatus
- 47 Add WalkToPoint
- 47 Add WalkToPart
- 47 Add WalkSpeed
- 47 Add
- 47 Add TargetPoint
- 47 Add Sit
- 47 Add
- 47 Add PlatformStand
- 47 Add MaxHealth
- 47 Add
- 47 Add Jump
- 47 Add Health
- 47 Add Humanoid
Members 116
AddAccessory
Parameters (1) | ||
---|---|---|
accessory | Instance | |
Returns (1) | ||
null |
This method attaches the specified Accessory to the humanoid's parent.
When this method is called, an Accessory is attached to the character by searching for an Attachment in the humanoid's parent that shares the same name as an Attachment in the accessory's Handle Part. If one is found, the Handle part will be connected to the parent of the Attachment using a Weld, and the weld will be configured so the Attachments occupy the same space.
If the required Attachment can not be found, then the Accessory will remain parented to the humanoid's parent but it will be unattached.
Typically, accessory welds are created on the server, but they can be created on the client under certain circumstances. In these situations, client-sided calls to AddAccessory() may not always produce the desired behavior and you can use BuildRigFromAttachments() to force the expected weld creation.
Thread safety | Unsafe |
---|
History 5
- 573 Change ReturnType of AddAccessory from void to null
- 462 Change ThreadSafety of AddAccessory from to Unsafe
- 265 Add AddAccessory
- 264 Remove AddAccessory
- 265 Add AddAccessory
AddCustomStatus
Parameters (1) | ||
---|---|---|
status | string | |
Returns (1) | ||
bool |
Adds a BoolValue to the Humanoid's Status object, whose name is equal to the string passed as the status argument. If the status already exists, a new BoolValue will not be created.
Thread safety | Unsafe |
---|
History 3
- 462 Change ThreadSafety of AddCustomStatus from to Unsafe
- 208 Change Tags of AddCustomStatus from [] to [Deprecated]
- 47 Add AddCustomStatus
AddStatus
Parameters (1) | Default | |
---|---|---|
status | Status | Poison |
Returns (1) | ||
bool |
Adds a BoolValue to the Humanoid's Status object, whose name is equal to the name of the Status enum passed as the status argument. If the status already exists, a new BoolValue will not be created.
Thread safety | Unsafe |
---|
AnimationPlayed
Parameters (1) | |
---|---|
animationTrack | AnimationTrack |
The AnimationPlayed event fires when an AnimationTrack begins playing on the Humanoid.
A common use for this function is to connect the AnimationTrack.KeyframeReached event for the playing AnimationTrack, so additional effects can be added to the animation (for example Sounds and ParticleEmitters).
This event can be used for any Humanoid regardless if it belongs to the local player's client or not.
See also:
- For the AnimationController equivalent of this event, please see AnimationController.AnimationPlayed
Thread safety | Unsafe |
---|
History 7
- 553 Change PreferredDescriptor of AnimationPlayed from to AnimationPlayed
- 486 Change Parameters of AnimationPlayed from (animationTrack: Instance) to (animationTrack: AnimationTrack)
- 462 Change ThreadSafety of AnimationPlayed from to Unsafe
- 454 Change Tags of AnimationPlayed from [] to [Deprecated]
- 452 Change Tags of AnimationPlayed from [Deprecated] to []
- 453 Change Tags of AnimationPlayed from [] to [Deprecated]
- 204 Add AnimationPlayed
ApplyDescription
Parameters (2) | Default | |
---|---|---|
humanoidDescription | HumanoidDescription | |
assetTypeVerification | AssetTypeVerification | Default |
Returns (1) | ||
null |
This yielding function makes the character's look match that of the passed in HumanoidDescription. A copy of the passed HumanoidDescription is cached as the HumanoidDescription for the Humanoid.
This function is optimized through making the assumption that only this function is used to change the appearance of the character, and no changes are made through other means between calls. If changes are made to the character between calls. Then this function may not make the character reflect the passed in HumanoidDescription accurately. If you want to use this function in conjunction with other means of updating the character, Humanoid:ApplyDescriptionReset() will always ensure the character reflects the passed in HumanoidDescription.
See Also
- Humanoid:GetAppliedDescription() which returns the HumanoidDescription currently applied to the humanoid.
- Players:GetHumanoidDescriptionFromUserId() which returns a HumanoidDescription describing the avatar for the passed in user.
- Players:GetHumanoidDescriptionFromOutfitId() which returns a HumanoidDescription whose parameters are initialized to match that of the passed in server-side outfit asset.
- Player:LoadCharacterWithHumanoidDescription() which spawns a player with the look from the passed in HumanoidDescription.
Thread safety | Unsafe |
---|
History 7
- 573 Change ReturnType of ApplyDescription from void to null
- 486 Change Parameters of ApplyDescription from (humanoidDescription: Instance, assetTypeVerification: AssetTypeVerification = Default) to (humanoidDescription: HumanoidDescription, assetTypeVerification: AssetTypeVerification = Default)
- 462 Change ThreadSafety of ApplyDescription from to Unsafe
- 454 Change Parameters of ApplyDescription from (humanoidDescription: Instance) to (humanoidDescription: Instance, assetTypeVerification: AssetTypeVerification = Default)
- 452 Change Parameters of ApplyDescription from (humanoidDescription: Instance, assetTypeVerification: AssetTypeVerification = Default) to (humanoidDescription: Instance)
- 453 Change Parameters of ApplyDescription from (humanoidDescription: Instance) to (humanoidDescription: Instance, assetTypeVerification: AssetTypeVerification = Default)
- 366 Add ApplyDescription
ApplyDescriptionClientServer
Parameters (1) | ||
---|---|---|
humanoidDescription | HumanoidDescription | |
Returns (1) | ||
null |
Security | RobloxScriptSecurity |
---|---|
Thread safety | Unsafe |
History 4
- 573 Change ReturnType of ApplyDescriptionClientServer from void to null
- 486 Change Parameters of ApplyDescriptionClientServer from (humanoidDescription: Instance) to (humanoidDescription: HumanoidDescription)
- 462 Change ThreadSafety of ApplyDescriptionClientServer from to Unsafe
- 382 Add ApplyDescriptionClientServer
ApplyDescriptionFinished
Parameters (1) | |
---|---|
description | HumanoidDescription |
Thread safety | Unsafe |
---|
History 1
ApplyDescriptionReset
Parameters (2) | Default | |
---|---|---|
humanoidDescription | HumanoidDescription | |
assetTypeVerification | AssetTypeVerification | Default |
Returns (1) | ||
null |
This yielding function makes the character's look match that of the passed in HumanoidDescription, even after external changes. A copy of the passed HumanoidDescription is cached as the HumanoidDescription for the Humanoid.
This function will always ensure the character reflects the passed in HumanoidDescription, even if changes have been made to the character not using the HumanoidDescription system (for example not using ApplyDescriptionReset() or ApplyDescription()). This is in contrast to ApplyDescription() which is optimized and may incorrectly apply a HumanoidDescription if the character has been changed by means other than through the HumanoidDescription system.
Thread safety | Unsafe |
---|
History 2
- 573 Change ReturnType of ApplyDescriptionReset from void to null
- 524 Add ApplyDescriptionReset
AutoJumpEnabled
Type | Default | |
---|---|---|
bool | true |
AutoJumpEnabled sets whether or not the Humanoid will attempt to automatically jump over an obstacle it is walking towards.
Currently, this property only works when the following conditions are true:
- The Humanoid's character model is the Player.Character of a Player.
- The Player in question is using touch controls.
When a player's character spawns, the property's value matches the player's Player.AutoJumpEnabled property - which in turn matches the StarterPlayer.AutoJumpEnabled property.
Thread safety | ReadSafe |
---|---|
Category | Jump Settings |
Loaded/Saved | true |
History 5
- 553 Change Default of AutoJumpEnabled from to true
- 486 Change ThreadSafety of AutoJumpEnabled from ReadOnly to ReadSafe
- 462 Change ThreadSafety of AutoJumpEnabled from to ReadOnly
- 377 Change Category of AutoJumpEnabled from Control to Jump Settings
- 206 Add AutoJumpEnabled
AutoRotate
Type | Default | |
---|---|---|
bool | true |
The AutoRotate property describes whether or not the Humanoid will automatically rotate to face in the direction they are moving. When set to true, the character model will gradually turn to face their movement direction as the Humanoid walks around. When set to false, the character model will remain fixated in its current rotation, unless a rotating force is applied to the HumanoidRootPart.
If the character model happens to be the character of a player, then the behavior of the Humanoid's rotation is influenced by the UserGameSetting's RotateType property.
When the AutoRotate property is set to true, the RotateType property has the following effects on the Humanoid's rotation:
RotationType | Behavior | Context |
---|---|---|
MovementRelative | ||
CameraRelative | Character will rotate to face in the direction of the camera. | Player has their camera zoomed into first-person, or they are in shift-lock mode. |
Thread safety | ReadSafe |
---|---|
Category | Control |
Loaded/Saved | true |
History 4
- 553 Change Default of AutoRotate from to true
- 486 Change ThreadSafety of AutoRotate from ReadOnly to ReadSafe
- 462 Change ThreadSafety of AutoRotate from to ReadOnly
- 147 Add AutoRotate
AutomaticScalingEnabled
Type | Default | |
---|---|---|
bool | true |
The Humanoid has six child scale values including BodyDepthScale
,
BodyHeightScale
, BodyProportionScale
, BodyTypeScale
,
BodyWidthScale
, HeadScale
. Changing the value of any of these causes
the character's body parts and accessories to change size, but only if
AutomaticScalingEnabled
is true.
Thread safety | ReadSafe |
---|---|
Category | Game |
Loaded/Saved | true |
History 4
- 553 Change Default of AutomaticScalingEnabled from to true
- 486 Change ThreadSafety of AutomaticScalingEnabled from ReadOnly to ReadSafe
- 462 Change ThreadSafety of AutomaticScalingEnabled from to ReadOnly
- 349 Add AutomaticScalingEnabled
BreakJointsOnDeath
Type | Default | |
---|---|---|
bool | true |
Determines whether the humanoid's joints break when in the HumanoidStateType.Dead state. Defaults to true.
Thread safety | ReadSafe |
---|---|
Category | Behavior |
Loaded/Saved | true |
History 4
- 553 Change Default of BreakJointsOnDeath from to true
- 486 Change ThreadSafety of BreakJointsOnDeath from ReadOnly to ReadSafe
- 462 Change ThreadSafety of BreakJointsOnDeath from to ReadOnly
- 369 Add BreakJointsOnDeath
BuildRigFromAttachments
Parameters (0) | ||
---|---|---|
No parameters. | ||
Returns (1) | ||
null |
This method assembles a tree of Motor6D joints for the Humanoid. Motor6D joints are required for the playback of Animations.
Starting from the humanoid's RootPart, this method collects all Attachments parented in the current part whose name ends with RigAttachment. It then searches for a matching attachment in the character that shares the same name as the attachment. Using those two attachments, a Motor6D joint is generated based on the parts associated with the two attachments and the CFrame of the attachments.
Humanoid:BuildRigFromAttachments() also scales the character and sets body colors.
Thread safety | Unsafe |
---|
History 3
- 573 Change ReturnType of BuildRigFromAttachments from void to null
- 462 Change ThreadSafety of BuildRigFromAttachments from to Unsafe
- 290 Add BuildRigFromAttachments
CacheDefaults
Parameters (0) | ||
---|---|---|
No parameters. | ||
Returns (1) | ||
null |
Security | RobloxScriptSecurity |
---|---|
Thread safety | Unsafe |
History 3
- 573 Change ReturnType of CacheDefaults from void to null
- 462 Change ThreadSafety of CacheDefaults from to Unsafe
- 366 Add CacheDefaults
CameraOffset
Type | Default | |
---|---|---|
Vector3 | 0, 0, 0 |
The CameraOffset property specifies an offset to the camera's subject position when its Camera.CameraSubject is set to this Humanoid.
The offset is applied in object-space, relative to the orientation of the Humanoid's HumanoidRootPart. For example, an offset Vector3 value of (0, 10, 0) offsets the player's camera to 10 studs above the player's humanoid.
Thread safety | ReadSafe |
---|---|
Category | Data |
Loaded/Saved | false |
History 4
- 553 Change Default of CameraOffset from to Vector3(0, 0, 0)
- 486 Change ThreadSafety of CameraOffset from ReadOnly to ReadSafe
- 462 Change ThreadSafety of CameraOffset from to ReadOnly
- 152 Add CameraOffset
ChangeState
Parameters (1) | Default | |
---|---|---|
state | HumanoidStateType | None |
Returns (1) | ||
null |
This function causes the Humanoid to enter the given HumanoidStateType, describing the activity the Humanoid is currently doing.
Please review the HumanoidStateType page for more information on the particular states, as some have unintuitive names. For example, HumanoidStateType.Running describes a state where the humanoid's legs are on the ground, including when stationary.
Due to the default behavior of the Humanoid, some states will automatically be changed when set. For example:
- Setting the state to HumanoidStateType.Swimming when the humanoid is not in the water will cause it to be automatically set to HumanoidStateType.GettingUp.
- As it is unused, setting the state to HumanoidStateType.PlatformStanding will cause the humanoid state to be automatically set to HumanoidStateType.Running.
See also Humanoid:SetStateEnabled() to enable or disable a particular state, and Humanoid:GetState() to get the current humanoid state.
Thread safety | Unsafe |
---|
History 3
- 573 Change ReturnType of ChangeState from void to null
- 462 Change ThreadSafety of ChangeState from to Unsafe
- 147 Add ChangeState
Climbing
Parameters (1) | |
---|---|
speed | float |
Fires when the speed at which a Humanoid is climbing changes.
Humanoids can climb up ladders made out of Parts or TrussParts.
Humanoids climb at 70% of their Humanoid.WalkSpeed.
This event will not always fire with a speed of 0 when the Humanoid stops climbing.
See also:
- For swimming and running see the Humanoid.Swimming and Humanoid.Running events
- You can also detect when a Humanoid is climbing using the Humanoid.StateChanged event
- You can disable climbing using the Humanoid:SetStateEnabled() function
Thread safety | Unsafe |
---|
ClusterCompositionFinished
Parameters (0) | ||
---|---|---|
No parameters. |
Security | RobloxScriptSecurity |
---|---|
Thread safety | Unsafe |
History 1
CollisionType
Type | Default | |
---|---|---|
HumanoidCollisionType | OuterBox |
This property selects the HumanoidCollisionType for R15 and Rthro non-player characters.
The collision geometry for the InnerBox type is calculated at run-time and will not be applied in Studio when the simulation is not running.
For player Characters the CollisionType property will be decided by the Avatar Collision Option in Game Settings.
This property is writable by Plugins and can be read by all scripts.
Enums
Name | Value | Description |
---|---|---|
OuterBox | 0 | Dynamically sized collision boxes based on mesh sizes |
Innerbox | 1 | Fixed size collision boxes, similar to the classic avatar collision |
Write security | PluginSecurity |
---|---|
Thread safety | ReadSafe |
Category | Behavior |
Loaded/Saved | true |
History 5
- 553 Change Default of CollisionType from to OuterBox
- 492 Change Tags of CollisionType from [] to [Deprecated]
- 486 Change ThreadSafety of CollisionType from ReadOnly to ReadSafe
- 462 Change ThreadSafety of CollisionType from to ReadOnly
- 376 Add CollisionType
CustomStatusAdded
Parameters (1) | |
---|---|
status | string |
The CustomStatusAdded event fires when a status is added to the Humanoid via the Humanoid:AddCustomStatus() method.
Thread safety | Unsafe |
---|
History 3
- 462 Change ThreadSafety of CustomStatusAdded from to Unsafe
- 208 Change Tags of CustomStatusAdded from [] to [Deprecated]
- 47 Add CustomStatusAdded
CustomStatusRemoved
Parameters (1) | |
---|---|
status | string |
The CustomStatusRemoved event fires when a status is removed from the Humanoid via the Humanoid:RemoveCustomStatus() method.
Thread safety | Unsafe |
---|
History 3
- 462 Change ThreadSafety of CustomStatusRemoved from to Unsafe
- 208 Change Tags of CustomStatusRemoved from [] to [Deprecated]
- 47 Add CustomStatusRemoved
Died
Parameters (0) | ||
---|---|---|
No parameters. |
This event fires when the Humanoid dies, usually when Humanoid.Health reaches 0. This could be caused either by disconnecting their head from their Humanoid.Torso, or directly setting the health property.
This event only fires if the Humanoid is a descendant of the
Workspace. If the Dead
HumanoidStateType is disabled it
will not fire.
Thread safety | Unsafe |
---|
DisplayDistanceType
Type | Default | |
---|---|---|
HumanoidDisplayDistanceType | Viewer |
The DisplayDistanceType property controls the distance behavior of the humanoid's name and health display. This property is set using the HumanoidDisplayDistanceType enum with three available values, each with their own set of rules:
- When set to Viewer, the humanoid sees
the name/health of other humanoids within range of its own
NameDisplayDistance
andHealthDisplayDistance
. - When set to Subject, the humanoid
takes full control over its own name and health display through its
NameDisplayDistance
andHealthDisplayDistance
values. - When set to None, the humanoid's name and health bar do not appear under any circumstances.
See Character Name/Health Display for an in-depth guide on controlling the appearance of character names and health bars.
Thread safety | ReadSafe |
---|---|
Category | Data |
Loaded/Saved | true |
History 4
- 553 Change Default of DisplayDistanceType from to Viewer
- 486 Change ThreadSafety of DisplayDistanceType from ReadOnly to ReadSafe
- 462 Change ThreadSafety of DisplayDistanceType from to ReadOnly
- 187 Add DisplayDistanceType
DisplayName
Type | Default | |
---|---|---|
string |
DisplayName
is a property that determines the Humanoid's name display
when visible. By default, a new Humanoid will have the value of an empty
string. If DisplayName
is an empty string, the humanoid's name display
will default to the humanoid's parent's name property.
Player Character Loading
When players load their character, either automatically or through the use
of LoadCharacter(), the Humanoid that is
created by the engine will have its DisplayName
property set to the
player's DisplayName
property.
StarterCharacter and StarterHumanoid
When a Humanoid named StarterHumanoid
is parented to
StarterPlayer, or when a Humanoid is present in a Model named
StarterCharacter
, the DisplayName property will be respected when
Characters are loaded by Players in the game. The engine will only
override the DisplayName
property of the Humanoid with the DisplayName
property of the player if the Humanoid.DisplayName of
StarterHumanoid
is an empty string.
Thread safety | ReadSafe |
---|---|
Category | Data |
Loaded/Saved | true |
History 3
- 486 Change ThreadSafety of DisplayName from ReadOnly to ReadSafe
- 462 Change ThreadSafety of DisplayName from to ReadOnly
- 425 Add DisplayName
EmoteTriggered
Parameters (2) | |
---|---|
success | bool |
animationTrack | AnimationTrack |
Security | RobloxScriptSecurity |
---|---|
Thread safety | Unsafe |
History 2
- 541 Change Parameters of EmoteTriggered from (successAndTrackTuple: Tuple) to (success: bool, animationTrack: AnimationTrack)
- 539 Add EmoteTriggered
EquipTool
Parameters (1) | ||
---|---|---|
tool | Instance | |
Returns (1) | ||
null |
This function makes the Humanoid equip the given Tool.
The below example would cause a Player to equip a tool in Workspace named 'Tool'.
1 2 3 4 5 6 7 8 9 10 11 12 |
|
When this function is called, the Humanoid will first automatically unequip all Tools that it currently has equipped.
Although they will be equipped, Tools for which Tool.RequiresHandle is true will not function if they have no handle, regardless if this function is used to equip them or not
See also:
- To unequip tools, use Humanoid:UnequipTools()
Thread safety | Unsafe |
---|
History 7
- 573 Change ReturnType of EquipTool from void to null
- 462 Change ThreadSafety of EquipTool from to Unsafe
- 79 Change Tags of EquipTool from [preliminary] to []
- 78 Change Tags of EquipTool from [] to [preliminary]
- 79 Change Tags of EquipTool from [preliminary] to []
- 55 Change Tags of EquipTool from [] to [preliminary]
- 51 Add EquipTool
EvaluateStateMachine
Type | Default | |
---|---|---|
bool | true |
Thread safety | ReadSafe |
---|---|
Category | Behavior |
Loaded/Saved | true |
History 3
- 596 Change Tags of EvaluateStateMachine from [NotBrowsable] to []
- 553 Change Default of EvaluateStateMachine from to true
- 547 Add EvaluateStateMachine
FallingDown
Parameters (1) | |
---|---|
active | bool |
The FallingDown event fires when the Humanoid enters and leaves
the FallingDown
HumanoidStateType.
The Humanoid will enter the GettingUp
state 3 seconds after the
FallingDown
state is enabled. When this happens this event will fire
with an active value of false, and Humanoid.GettingUp will
fire with an active value of true.
Thread safety | Unsafe |
---|
History 2
- 462 Change ThreadSafety of FallingDown from to Unsafe
- 47 Add FallingDown
FloorMaterial
Type | Default | |
---|---|---|
Material | Air |
This is a read-only property that describes the Material the Humanoid is currently standing on. It works with both regular Parts and Terrain voxels.
The code sample below demonstrates how to listen to when this property changes using Object:GetPropertyChangedSignal(). When the material the humanoid is standing on changes, it will print a message indicating the new material being stood on.
1 2 3 4 5 |
|
Caveats
- When the Humanoid is not standing on a floor, the value of this
property will be set to Air.
- This occurs because Enum properties cannot have an empty value.
- This can cause some confusion if a part has its material is set to Air, though in practice, parts are not supposed to use that material in the first place.
- The character model of the Humanoid must be able to collide with
the floor, or else it will not be detected.
- You cannot test if the Humanoid is swimming with this property. You should instead use its Humanoid:GetState() function.
Thread safety | ReadSafe |
---|---|
Category | Control |
Loaded/Saved | false |
History 4
- 553 Change Default of FloorMaterial from to Air
- 486 Change ThreadSafety of FloorMaterial from ReadOnly to ReadSafe
- 462 Change ThreadSafety of FloorMaterial from to ReadOnly
- 308 Add FloorMaterial
FreeFalling
Parameters (1) | |
---|---|
active | bool |
This event fires when the Humanoid enters or leaves the Freefall
HumanoidStateType.
The active parameter represents whether the Humanoid is entering
or leaving the Freefall
state.
Although the Freefall
state generally ends when the Humanoid
reaches the ground, this event may fire with active equal to false if
the state is changed while the Humanoid is falling. For this
reason, you should use Humanoid.StateChanged and listen for the
Landed
state to work out when a Humanoid has landed.
Thread safety | Unsafe |
---|
History 2
- 462 Change ThreadSafety of FreeFalling from to Unsafe
- 47 Add FreeFalling
GetAccessories
Parameters (0) | ||
---|---|---|
No parameters. | ||
Returns (1) | ||
Array |
This function returns an array of Accessory objects that the humanoid's parent is currently wearing. All such Accessory objects will be included, regardless of whether they're attached or not.
If the Humanoid has no Accessory objects, an empty array will be returned.
See also Humanoid:AddAccessory() to attach an Accessory to a humanoid's parent.
Thread safety | Unsafe |
---|
History 4
- 462 Change ThreadSafety of GetAccessories from to Unsafe
- 265 Add GetAccessories
- 264 Remove GetAccessories
- 265 Add GetAccessories
GetAccessoryHandleScale
Parameters (2) | ||
---|---|---|
instance | Instance | |
partType | BodyPartR15 | |
Returns (1) | ||
Vector3 |
Security | RobloxScriptSecurity |
---|---|
Thread safety | Unsafe |
History 1
GetAppliedDescription
Parameters (0) | ||
---|---|---|
No parameters. | ||
Returns (1) | ||
HumanoidDescription |
This function returns a copy of the humanoid's cached HumanoidDescription which describes its current look. This can be used to quickly determine a character's look and to assign their look to other characters using the Humanoid:ApplyDescription() function.
See Also
- Players:GetHumanoidDescriptionFromUserId() which returns a HumanoidDescription describing the avatar for the passed in user.
- Players:GetHumanoidDescriptionFromOutfitId() which returns a HumanoidDescription whose parameters are initialized to match that of the passed in server-side outfit asset.
- Player:LoadCharacterWithHumanoidDescription() which spawns a player with the look from the passed in HumanoidDescription.
Thread safety | Unsafe |
---|
History 3
- 486 Change ReturnType of GetAppliedDescription from Instance to HumanoidDescription
- 462 Change ThreadSafety of GetAppliedDescription from to Unsafe
- 366 Add GetAppliedDescription
GetBodyPartR15
Parameters (1) | ||
---|---|---|
part | Instance | |
Returns (1) | ||
BodyPartR15 |
This function returns what BodyPartR15 a Part is, or BodyPartR15.Unknown if the part is not an R15 body part. This function allows developers to retrieve player body parts independent of what the actual body part names are, instead returning an enum.
It can be used in conjunction with Humanoid:ReplaceBodyPartR15(). For example, if a player's body part touches something, this function will return get a part instance. Developers can then look up what part of the body that was, like head or arm. Then depending on what that part was, developers can either perform some gameplay action or replace that part with some other part - perhaps showing damage.
This function can be useful for games where hit location is important. For example, it can be used to determine if a player is hit in the leg and then slow them down based on the injury.
Thread safety | Unsafe |
---|
History 2
- 462 Change ThreadSafety of GetBodyPartR15 from to Unsafe
- 348 Add GetBodyPartR15
GetLimb
Parameters (1) | ||
---|---|---|
part | Instance | |
Returns (1) | ||
Limb |
This function returns the Limb enum that is associated with the given Part. It works for both R15 and R6 rigs, for example:
1 2 3 4 5 6 7 |
|
Note that Humanoid:GetLimb() will throw an error if the part's parent is not set to the humanoid's parent.
Thread safety | Unsafe |
---|
GetMoveVelocity
Parameters (0) | ||
---|---|---|
No parameters. | ||
Returns (1) | ||
Vector3 |
Thread safety | Unsafe |
---|
History 2
- 636 Change Tags of GetMoveVelocity from [NotBrowsable] to []
- 583 Add GetMoveVelocity
GetPlayingAnimationTracks
Parameters (0) | ||
---|---|---|
No parameters. | ||
Returns (1) | ||
Array |
This function returns an array of all AnimationTracks that are currently being played on the Humanoid.c A typical use for this function is stopping currently playing tracks using AnimationTrack:Stop().
Beware that this function will not return AnimationTracks that have loaded but are not playing. If you want to track these you will need to index them manually.
Thread safety | Unsafe |
---|
History 6
- 553 Change PreferredDescriptor of GetPlayingAnimationTracks from to GetPlayingAnimationTracks
- 462 Change ThreadSafety of GetPlayingAnimationTracks from to Unsafe
- 454 Change Tags of GetPlayingAnimationTracks from [] to [Deprecated]
- 452 Change Tags of GetPlayingAnimationTracks from [Deprecated] to []
- 453 Change Tags of GetPlayingAnimationTracks from [] to [Deprecated]
- 205 Add GetPlayingAnimationTracks
GetState
Parameters (0) | ||
---|---|---|
No parameters. | ||
Returns (1) | ||
HumanoidStateType |
This function returns the humanoid's current HumanoidStateType, describing the activity the Humanoid is currently doing, such as jumping or swimming.
See also Humanoid:SetStateEnabled() to enable or disable a particular state, and Humanoid:ChangeState() to change the current humanoid state.
Thread safety | Safe |
---|
GetStateEnabled
Parameters (1) | ||
---|---|---|
state | HumanoidStateType | |
Returns (1) | ||
bool |
The GetStateEnabled function returns whether a HumanoidStateType is enabled for the Humanoid.
The humanoid state describes the activity the humanoid is currently doing.
When a particular HumanoidStateType is disabled, the humanoid can never enter that state. This is true regardless if the attempt to change state is made using Humanoid:ChangeState() or Roblox internal humanoid code.
See also:
- For an event that fires when a humanoid state is enabled or disabled see Humanoid.StateEnabledChanged
- To enable or disable a Humanoid state use Humanoid:SetStateEnabled()
Thread safety | Safe |
---|
History 3
- 566 Change ThreadSafety of GetStateEnabled from Unsafe to Safe
- 462 Change ThreadSafety of GetStateEnabled from to Unsafe
- 205 Add GetStateEnabled
GetStatuses
Parameters (0) | ||
---|---|---|
No parameters. | ||
Returns (1) | ||
Array |
The GetStatuses function returns a table of the Humanoid's statuses, and custom statuses.
Thread safety | Unsafe |
---|
History 3
- 462 Change ThreadSafety of GetStatuses from to Unsafe
- 208 Change Tags of GetStatuses from [] to [Deprecated]
- 47 Add GetStatuses
GettingUp
Parameters (1) | |
---|---|
active | bool |
This event fires when the Humanoid enters or leaves the HumanoidStateType.GettingUp state, a transition state that is activated shortly after the Humanoid enters the FallingDown (3 seconds) or Ragdoll (1 second) states.
When a Humanoid attempts to get back up, this event will first
fire with an active
parameter of true
before shortly after firing
again with an active
parameter of false
.
To force a Humanoid to fall over, use the Humanoid:ChangeState() function with HumanoidStateType.FallingDown.
Thread safety | Unsafe |
---|
HasCustomStatus
Parameters (1) | ||
---|---|---|
status | string | |
Returns (1) | ||
bool |
The HasCustomStatus function returns boolean based on if custom statuses exist.
Thread safety | Unsafe |
---|
History 3
- 462 Change ThreadSafety of HasCustomStatus from to Unsafe
- 208 Change Tags of HasCustomStatus from [] to [Deprecated]
- 47 Add HasCustomStatus
HasStatus
Parameters (1) | Default | |
---|---|---|
status | Status | Poison |
Returns (1) | ||
bool |
The HasStatus function returns a boolean based on if a status exists.
Thread safety | Unsafe |
---|
Health
Type | Default | |
---|---|---|
float | 100 |
This property represents the current health of the Humanoid. The value is restricted to the range between 0 and MaxHealth. If the humanoid is dead, this property is continually set to 0.
Note that the TakeDamage() function may be used to subtract from Health instead of setting the property directly.
Health Regeneration
By default, a passive health regeneration script is automatically inserted into humanoids. This causes non-dead player characters to regenerate 1% of MaxHealth each second. To disable this regeneration behavior, add an empty Script named Health to StarterCharacterScripts.
Health Bar Display
When Health is less than MaxHealth, a health bar is displayed in-experience. The display behavior of the health bar is dependent on the HealthDisplayDistance and HealthDisplayType.
See Character Name/Health Display for an in-depth guide on controlling the appearance of character names and health bars.
Death
When the value of the character's health reaches 0, the Humanoid automatically transitions to the HumanoidStateType.Dead state. In this state, Health is locked to 0; however, there is no error or warning for setting the Health of a dead humanoid to a positive nonzero value.
Thread safety | ReadSafe |
---|---|
Category | Game |
Loaded/Saved | true/false |
HealthChanged
Parameters (1) | |
---|---|
health | float |
This event fires when the Humanoid.Health changes. However, it will not fire if the health is increasing from a value equal to or greater than the Humanoid.MaxHealth.
When Humanoid.Health reaches zero, the Humanoid will die and the Humanoid.Died event will fire. This event will fire with a value of zero.
Thread safety | Unsafe |
---|
History 2
- 462 Change ThreadSafety of HealthChanged from to Unsafe
- 47 Add HealthChanged
HealthDisplayDistance
Type | Default | |
---|---|---|
float | 100 |
This property is a number used in conjunction with the DisplayDistanceType property to control the distance from which a humanoid's health bar can be seen.
See Character Name/Health Display for an in-depth guide on controlling the appearance of character names and health bars.
Thread safety | ReadSafe |
---|---|
Category | Data |
Loaded/Saved | true |
History 4
- 553 Change Default of HealthDisplayDistance from to 100
- 486 Change ThreadSafety of HealthDisplayDistance from ReadOnly to ReadSafe
- 462 Change ThreadSafety of HealthDisplayDistance from to ReadOnly
- 187 Add HealthDisplayDistance
HealthDisplayType
Type | Default | |
---|---|---|
HumanoidHealthDisplayType | DisplayWhenDamaged |
This property controls when a humanoid's health bar is allowed to be displayed. By default, this property is set to DisplayWhenDamaged, which makes the health bar only display when a humanoid's Health is less than its MaxHealth. It can also be set to AlwaysOn, which makes the health bar always display, or AlwaysOff, which prevents it from ever displaying.
Note that this property functions independently of the humanoid's
HealthDisplayDistance property
which is responsible for making the health bar fade out at certain
distances. If Humanoid.HealthDisplayType|HealthDisplayType
is set to
AlwaysOn, it will still fade out
depending the how
HealthDisplayDistance is
configured.
See Character Name/Health Display for an in-depth guide on controlling the appearance of character names and health bars.
Thread safety | ReadSafe |
---|---|
Category | Data |
Loaded/Saved | true |
History 4
- 553 Change Default of HealthDisplayType from to DisplayWhenDamaged
- 486 Change ThreadSafety of HealthDisplayType from ReadOnly to ReadSafe
- 462 Change ThreadSafety of HealthDisplayType from to ReadOnly
- 271 Add HealthDisplayType
HipHeight
Type | Default | |
---|---|---|
float | 0 |
Determines the distance (in studs) off the ground the RootPart should be when the humanoid is standing. The RigType influences the way this property behaves.
For R15 rigs, a suitable hip height is preset to ensure the height of the RootPart is correct. The height of the legs is not used. The overall height of the humanoid can be described in the following formula:
1
|
|
For R6 rigs, HipHeight instead describes a relative offset. The overall height of the humanoid can be described in the following formula:
1
|
|
Thread safety | ReadSafe |
---|---|
Category | Game |
Loaded/Saved | true |
Jump
Type | Default | |
---|---|---|
bool | false |
If true
, the Humanoid jumps with an upwards force equal to the
value of Humanoid.JumpPower or the height of
Humanoid.JumpHeight, depending on the value of
Humanoid.UseJumpPower.
Thread safety | ReadSafe |
---|---|
Category | Control |
Loaded/Saved | true/false |
JumpHeight
Type | Default | |
---|---|---|
float | 7.19999981 |
Provides control over the height a Humanoid jumps, in studs. The starting value of this property is determined by the value of StarterPlayer.CharacterJumpHeight which defaults to 7.2.
Although setting this property to 0 will effectively prevent the humanoid from jumping, it's recommended to disable jumping by disabling the HumanoidStateType.Jumping state through Humanoid:SetStateEnabled().
This property is only visible in the Properties window if Humanoid.UseJumpPower is set to false, as it would not be relevant otherwise (instead, Humanoid.JumpPower is used).
Thread safety | ReadSafe |
---|---|
Category | Jump Settings |
Loaded/Saved | true |
History 5
- 553 Change Default of JumpHeight from to 7.19999981
- 486 Change ThreadSafety of JumpHeight from ReadOnly to ReadSafe
- 462 Change ThreadSafety of JumpHeight from to ReadOnly
- 377 Change Category of JumpHeight from Game to Jump Settings
- 375 Add JumpHeight
JumpPower
Type | Default | |
---|---|---|
float | 50 |
Determines how much upwards force is applied to the Humanoid when jumping. The starting value of this property is determined by the value of StarterPlayer.CharacterJumpPower which defaults to 50 and is constrained between 0 and 1000. Note that jumps are also influenced by the Workspace.Gravity property which determines the acceleration due to gravity.
Although setting this property to 0 will effectively prevent the humanoid from jumping, it's recommended to disable jumping by disabling the HumanoidStateType.Jumping state through Humanoid:SetStateEnabled().
This property is only visible in the Properties window if Humanoid.UseJumpPower is set to true, as it would not be relevant otherwise (instead, Humanoid.JumpHeight is used).
Thread safety | ReadSafe |
---|---|
Category | Jump Settings |
Loaded/Saved | true |
Jumping
Parameters (1) | |
---|---|
active | bool |
This event fires when the Humanoid enters and leaves the Jumping
HumanoidStateType.
When a Humanoid jumps, this event fires with an active
parameter
of true
before shortly afterwards firing again with an active
parameter of false
. This second firing does not correspond with a
Humanoid landing; for that, listen for the Landed
HumanoidStateType using Humanoid.StateChanged.
You can disable jumping using the Humanoid:SetStateEnabled() function.
Thread safety | Unsafe |
---|
LoadAnimation
Parameters (1) | ||
---|---|---|
animation | Animation | |
Returns (1) | ||
AnimationTrack |
This function loads an Animation onto a Humanoid, returning an AnimationTrack that can be used for playback.
Thread safety | Unsafe |
---|
History 8
- 553 Change PreferredDescriptor of LoadAnimation from to LoadAnimation
- 486 Change Parameters of LoadAnimation from (animation: Instance) to (animation: Animation)
- 486 Change ReturnType of LoadAnimation from Instance to AnimationTrack
- 462 Change ThreadSafety of LoadAnimation from to Unsafe
- 454 Change Tags of LoadAnimation from [] to [Deprecated]
- 452 Change Tags of LoadAnimation from [Deprecated] to []
- 453 Change Tags of LoadAnimation from [] to [Deprecated]
- 47 Add LoadAnimation
MaxHealth
Type | Default | |
---|---|---|
float | 100 |
The maximum value of a humanoid's Health.
The value of this property is used alongside the Health property to size the default health bar display. When a humanoid's Health reaches MaxHealth, its health bar may not be displayed, depending on its HealthDisplayType property.
Thread safety | ReadSafe |
---|---|
Category | Game |
Loaded/Saved | true |
MaxSlopeAngle
Type | Default | |
---|---|---|
float | 89 |
This property determines the maximum slope angle that a humanoid can climb. If the angle of a slope is greater than a humanoid's MaxSlopeAngle, they will slide down the slope.
When a character spawns, this property is set according to the value of StarterPlayer.CharacterMaxSlopeAngle.
The value of this property is constrained to values between 0° and 89°. It defaults to 89°, so humanoids can climb pretty much any slope they want by default.
Thread safety | ReadSafe |
---|---|
Category | Game |
Loaded/Saved | true |
History 4
- 553 Change Default of MaxSlopeAngle from to 89
- 486 Change ThreadSafety of MaxSlopeAngle from ReadOnly to ReadSafe
- 462 Change ThreadSafety of MaxSlopeAngle from to ReadOnly
- 210 Add MaxSlopeAngle
Move
Parameters (2) | Default | |
---|---|---|
moveDirection | Vector3 | |
relativeToCamera | bool | false |
Returns (1) | ||
null |
This function causes the Humanoid to walk in the given Vector3 direction.
By default, the direction is in world terms, but If the relativeToCamera
parameter is true
, the direction is relative to the CFrame of
the CurrentCamera. As the negative Z
direction is considered "forwards" in Roblox, the following code will make
the humanoid walk in the direction of the
CurrentCamera.
1
|
|
When this function is called, the Humanoid will move until the function is called again. However, if the default control scripts are being used, this function will be overwritten when called on player Characters. This can be avoided by either not using the default control scripts, or calling this function every frame using RunService:BindToRenderStep() (see example).
This function can be called on the server, but this should only be done when the server has network ownership of the humanoid's assembly.
See also Humanoid:MoveTo() which makes aHumanoid walk to a point, and Player:Move() which effectively calls this function.
Thread safety | Unsafe |
---|
MoveDirection
Type | Default | |
---|---|---|
Vector3 | 0, 0, 0 |
MoveDirection is a read-only property that describes the direction a Humanoid is walking in, as a unit vector or zero length vector. The direction is described in world space.
Because this property is read-only, it cannot be set by a Script or LocalScript.
Thread safety | ReadSafe |
---|---|
Category | Control |
Loaded/Saved | false |
History 4
- 553 Change Default of MoveDirection from to Vector3(0, 0, 0)
- 486 Change ThreadSafety of MoveDirection from ReadOnly to ReadSafe
- 462 Change ThreadSafety of MoveDirection from to ReadOnly
- 163 Add MoveDirection
MoveTo
Parameters (2) | Default | |
---|---|---|
location | Vector3 | |
part | Instance | Instance |
Returns (1) | ||
null |
This function causes the Humanoid to attempt to walk to the given location by setting the Humanoid.WalkToPoint and Humanoid.WalkToPart properties.
The location and part parameters correspond with what Humanoid.WalkToPoint and Humanoid.WalkToPart will be set to.
If the part parameter is specified, the Humanoid will still attempt to walk to the point. However, if the part moves then the point the Humanoid is walking to will move to be at the same position relative to the part. If the part parameter is not specified, then the position the Humanoid is walking to will not change.
The reach goal state of a humanoid will timeout after 8 seconds if it doesn't reach its goal. This is done so that NPCs won't get stuck waiting for Humanoid.MoveToFinished to fire. If you don't want this to happen, you should repeatedly call MoveTo so that the timeout will keep resetting.
MoveTo() ends if any of the following conditions apply:
The character arrives at its destination.
The character gets stuck and the eight-second timer expires.
The value of either Humanoid.WalkToPoint or Humanoid.WalkToPart changes.
A script calls Humanoid:Move() with a new
moveDirection
parameter.
Thread safety | Unsafe |
---|
MoveToFinished
Parameters (1) | |
---|---|
reached | bool |
This event fires when the Humanoid finishes walking to a goal declared by the Humanoid.WalkToPoint and Humanoid.WalkToPart properties.
The Humanoid.WalkToPoint and Humanoid.WalkToPart properties can be set individually, or using the Humanoid:MoveTo() function.
If the Humanoid reaches its goal within 8 seconds, this event will return with reached as true. If the goal is not reached within 8 seconds the Humanoid will stop walking and reached will be false. This timeout can be reset be calling Humanoid:MoveTo() again within the timeout period.
Thread safety | Unsafe |
---|
History 2
- 462 Change ThreadSafety of MoveToFinished from to Unsafe
- 187 Add MoveToFinished
NameDisplayDistance
Type | Default | |
---|---|---|
float | 100 |
The NameDisplayDistance property is a number used in conjunction with the Humanoid.DisplayDistanceType property to control the distance from which a humanoid's name can be seen.
See Character Name/Health Display for an in-depth guide on controlling the appearance of character names and health bars.
Thread safety | ReadSafe |
---|---|
Category | Data |
Loaded/Saved | true |
History 4
- 553 Change Default of NameDisplayDistance from to 100
- 486 Change ThreadSafety of NameDisplayDistance from ReadOnly to ReadSafe
- 462 Change ThreadSafety of NameDisplayDistance from to ReadOnly
- 187 Add NameDisplayDistance
NameOcclusion
Type | Default | |
---|---|---|
NameOcclusion | OccludeAll |
Controls whether a humanoid's name and health bar can be seen behind walls or other objects. This property is a NameOcclusion value and can be configured to occlude all names, enemy names, or disable occlusion entirely.
In cases where the LocalPlayer has no Humanoid associated with it, this property instead applies to the subject Humanoid.
See Character Name/Health Display for an in-depth guide on controlling the appearance of character names and health bars.
Thread safety | ReadSafe |
---|---|
Category | Data |
Loaded/Saved | true |
History 8
- 553 Change Default of NameOcclusion from to OccludeAll
- 486 Change ThreadSafety of NameOcclusion from ReadOnly to ReadSafe
- 462 Change ThreadSafety of NameOcclusion from to ReadOnly
- 79 Change Tags of NameOcclusion from [preliminary] to []
- 78 Change Tags of NameOcclusion from [] to [preliminary]
- 79 Change Tags of NameOcclusion from [preliminary] to []
- 55 Change Tags of NameOcclusion from [] to [preliminary]
- 51 Add NameOcclusion
PlatformStand
Type | Default | |
---|---|---|
bool | false |
Determines whether the Humanoid is currently in the HumanoidStateType.PlatformStanding state. When true, the Humanoid is in a state where it is free-falling and cannot move. This state behaves similar to sitting, except that jumping does not free the humanoid from the state.
Thread safety | ReadSafe |
---|---|
Category | Control |
Loaded/Saved | false |
History 4
- 553 Change Default of PlatformStand from to false
- 486 Change ThreadSafety of PlatformStand from ReadOnly to ReadSafe
- 462 Change ThreadSafety of PlatformStand from to ReadOnly
- 47 Add PlatformStand
PlatformStanding
Parameters (1) | |
---|---|
active | bool |
This event fires when the Humanoid enters or leaves the
PlatformStanding
HumanoidStateType.
Whilst the Humanoid is in the PlatformStanding
state, the
Humanoid.PlatformStand property will be true.
Whilst Humanoid.PlatformStand is set to true, the Humanoid will be unable to move. For more information please see the page for Humanoid.PlatformStand.
The PlatformStand HumanoidStateType was associated with the now disabled Platform part. Despite this, it can still be used by developers.
Thread safety | Unsafe |
---|
History 2
- 462 Change ThreadSafety of PlatformStanding from to Unsafe
- 47 Add PlatformStanding
PlayEmote
Parameters (1) | ||
---|---|---|
emoteName | string | |
Returns (1) | ||
bool |
If the emote could not be played because the emoteName is not found in the HumanoidDescription this API will give an error. The API will return true to indicate that the emote was played successfully.
Thread safety | Unsafe |
---|
PlayEmoteAndGetAnimTrackById
Parameters (1) | ||
---|---|---|
emoteId | int64 | |
Returns (1) | ||
Tuple |
Security | RobloxScriptSecurity |
---|---|
Thread safety | Unsafe |
History 2
- 462 Change ThreadSafety of PlayEmoteAndGetAnimTrackById from to Unsafe
- 458 Add PlayEmoteAndGetAnimTrackById
Ragdoll
Parameters (1) | |
---|---|
active | bool |
This event fires when the Humanoid enters or leaves the Ragdoll
HumanoidStateType.
The active
parameter will have the value true
or false
to indicate
entering or leaving.
Use Humanoid:SetStateEnabled() to disable the GettingUp state to stay in the Ragdoll state.
See also:
- Humanoid.FallingDown for the Humanoid event connected
with the
FallingDown
state, which behaves similarly toRagdoll
Thread safety | Unsafe |
---|
RemoveAccessories
Parameters (0) | ||
---|---|---|
No parameters. | ||
Returns (1) | ||
null |
This function removes all Accessory objects worn by the humanoid's parent. For player Characters, this will remove all hats and other accessories.
This function removes Accessory object by calling
Instance:Destroy() on them, meaning the
Parent of the accessories are set to nil
and
locked.
See also Humanoid:AddAccessory() to attach an Accessory, and Humanoid:GetAccessories() to get all Accessory objects belonging to a Humanoid.
Thread safety | Unsafe |
---|
History 5
- 573 Change ReturnType of RemoveAccessories from void to null
- 462 Change ThreadSafety of RemoveAccessories from to Unsafe
- 265 Add RemoveAccessories
- 264 Remove RemoveAccessories
- 265 Add RemoveAccessories
RemoveCustomStatus
Parameters (1) | ||
---|---|---|
status | string | |
Returns (1) | ||
bool |
The RemoveCustomStatus function removes the defined custom status from the Status model in the Humanoid..
Thread safety | Unsafe |
---|
History 3
- 462 Change ThreadSafety of RemoveCustomStatus from to Unsafe
- 208 Change Tags of RemoveCustomStatus from [] to [Deprecated]
- 47 Add RemoveCustomStatus
RemoveStatus
Parameters (1) | Default | |
---|---|---|
status | Status | Poison |
Returns (1) | ||
bool |
The RemoveStatus function removes the defined status from the Status model in the Humanoid.
Thread safety | Unsafe |
---|
History 3
- 462 Change ThreadSafety of RemoveStatus from to Unsafe
- 208 Change Tags of RemoveStatus from [] to [Deprecated]
- 47 Add RemoveStatus
ReplaceBodyPartR15
Parameters (2) | ||
---|---|---|
bodyPart | BodyPartR15 | |
part | BasePart | |
Returns (1) | ||
bool |
Dynamically replaces a R15/Rthro limb part in a Humanoid with a different part. The part is automatically scaled as normal.
This function is useful for modifying characters during gameplay or building characters from a base rig. The related function GetBodyPartR15 can come in handy when using this function.
The name of the part passed in should match with the name of the BodyPartR15 Enum passed in.
Thread safety | Unsafe |
---|
History 3
- 486 Change Parameters of ReplaceBodyPartR15 from (bodyPart: BodyPartR15, part: Instance) to (bodyPart: BodyPartR15, part: BasePart)
- 462 Change ThreadSafety of ReplaceBodyPartR15 from to Unsafe
- 348 Add ReplaceBodyPartR15
RequiresNeck
Type | Default | |
---|---|---|
bool | true |
Allows developers to disable the behavior where a player
Character|character
dies if the Neck Motor6D is removed or
disconnected even momentarily. This property defaults to true.
Thread safety | ReadSafe |
---|---|
Category | Behavior |
Loaded/Saved | true |
History 4
- 553 Change Default of RequiresNeck from to true
- 486 Change ThreadSafety of RequiresNeck from ReadOnly to ReadSafe
- 462 Change ThreadSafety of RequiresNeck from to ReadOnly
- 425 Add RequiresNeck
RigType
Type | Default | |
---|---|---|
HumanoidRigType | R6 |
RigType describes whether a Humanoid is utilizing the legacy R6 character rig, or the newer R15 character rig.
The R6 rig uses 6 visible Parts while the R15 rig uses 15 visible Parts. R15 rigs have more joints than R6 rigs, making them much more versatile when being animated.
Note that if this property is set incorrectly, the Humanoid will not function correctly. For example, if a R15 humanoid's RigType is set to R6, the Humanoid will die as there is no BasePart called Torso connected to a BasePart called Head.
Thread safety | ReadSafe |
---|---|
Category | Data |
Loaded/Saved | true |
RootPart
Type | Default | |
---|---|---|
BasePart |
A reference to the humanoid's HumanoidRootPart object, the root driving part of the Humanoid that controls a humanoid's movement through the 3D world. This part is normally invisible.
Note that in the case of player characters, RootPart is the same as the Model.PrimaryPart of the Player.Character model.
Thread safety | ReadSafe |
---|---|
Category | Data |
Loaded/Saved | false/true |
Running
Parameters (1) | |
---|---|
speed | float |
This event fires when the speed at which a Humanoid is running changes.
While running Humanoids cover, on average, their Humanoid.WalkSpeed in studs per second.
When the Humanoid stops running this event will fire with a speed of 0.
See also:
- For swimming and climbing see the Humanoid.Swimming and Humanoid.Climbing events
- You can also detect when a Humanoid is running using the Humanoid.StateChanged event
Thread safety | Unsafe |
---|
SeatPart
Type | Default | |
---|---|---|
BasePart |
SeatPart is a reference to the seat that a Humanoid is currently sitting in, if any. The value of this property can be either a Seat, or a VehicleSeat. It will be nil if the Humanoid is not currently sitting in a seat.
Note:
- For a bool describing if the Humanoid is currently sitting or not, see Humanoid.Sit
Thread safety | ReadSafe |
---|---|
Category | Control |
Loaded/Saved | false |
Seated
Parameters (2) | |
---|---|
active | bool |
currentSeatPart | BasePart |
This event fires when a Humanoid either sits in or gets up from a Seat or VehicleSeat.
When a character comes into contact with a seat, they are attached to the seat and a sitting animation plays. For more information on this, see the Seat page.
- If the character is sitting down, the
active
parameter will be true andcurrentSeatPart
will be the seat they are currently sitting in. - If the character got up from a seat, the
active
parameter will be false andcurrentSeatPart
will be nil.
See also:
- Humanoid.Sit, which indicates if a Humanoid is currently sitting
- Humanoid.SeatPart, which indicates the seat a Humanoid is currently sitting in, if any.
Thread safety | Unsafe |
---|
SetClickToWalkEnabled
Parameters (1) | ||
---|---|---|
enabled | bool | |
Returns (1) | ||
null |
Security | RobloxScriptSecurity |
---|---|
Thread safety | Unsafe |
History 3
- 573 Change ReturnType of SetClickToWalkEnabled from void to null
- 462 Change ThreadSafety of SetClickToWalkEnabled from to Unsafe
- 47 Add SetClickToWalkEnabled
SetStateEnabled
Parameters (2) | ||
---|---|---|
state | HumanoidStateType | |
enabled | bool | |
Returns (1) | ||
null |
This function sets whether a given HumanoidStateType is enabled for the Humanoid. When a particular HumanoidStateType is disabled, the Humanoid can never enter that state. This is true regardless if the attempt to change state is made using Humanoid:ChangeState() or Roblox internal Humanoid code.
Note that using SetStateEnabled()
on the server does not replicate the
change to the client, nor vice-versa.
Thread safety | Unsafe |
---|
History 3
- 573 Change ReturnType of SetStateEnabled from void to null
- 462 Change ThreadSafety of SetStateEnabled from to Unsafe
- 205 Add SetStateEnabled
Sit
Type | Default | |
---|---|---|
bool | false |
The Sit property is a boolean that indicates whether the Humanoid is currently sitting. Humanoids can be forced into a sitting state by setting this property's value to true. If the Humanoid isn't attached to a seat while in its sitting state, it will trip over with no collision in its legs. A Humanoid can escape from the sitting state by jumping.
Note:
- The Seat or VehicleSeat the Humanoid is sitting on can be obtained using the Humanoid.SeatPart property
- It is possible to detect when a Humanoid sits by connecting to the Humanoid.Seated event.
Thread safety | ReadSafe |
---|---|
Category | Control |
Loaded/Saved | false |
StateChanged
Parameters (2) | |
---|---|
old | HumanoidStateType |
new | HumanoidStateType |
This event fires when the state of the Humanoid is changed.
As there is no "idle" humanoid state, you should instead use the Humanoid.Running event or listen to the RootPart part's Velocity to work out when the Humanoid is standing still.
See Also
- Humanoid:GetState() and Humanoid:ChangeState() to get and set the state.
- Humanoid:SetStateEnabled() to enable and disable specific states.
Thread safety | Unsafe |
---|
History 2
- 462 Change ThreadSafety of StateChanged from to Unsafe
- 147 Add StateChanged
StateEnabledChanged
Parameters (2) | |
---|---|
state | HumanoidStateType |
isEnabled | bool |
The StateEnableChanged event fires when Humanoid:SetStateEnabled() is called on the Humanoid.
Parameters include the HumanoidStateType in question along with a bool indicating if this state is now enabled.
See also:
- To find if a state is currently enabled, use Humanoid:GetStateEnabled()
- To listen to Humanoid state changes use Humanoid.StateChanged
Thread safety | Unsafe |
---|
History 2
- 462 Change ThreadSafety of StateEnabledChanged from to Unsafe
- 231 Add StateEnabledChanged
StatusAdded
Parameters (1) | |
---|---|
status | Status |
The StatusAdded event fires when a status is added to the Humanoid.
Thread safety | Unsafe |
---|
History 3
- 462 Change ThreadSafety of StatusAdded from to Unsafe
- 208 Change Tags of StatusAdded from [] to [Deprecated]
- 47 Add StatusAdded
StatusRemoved
Parameters (1) | |
---|---|
status | Status |
The StatusRemoved event fires when a status is removed from the Humanoid.
Thread safety | Unsafe |
---|
History 3
- 462 Change ThreadSafety of StatusRemoved from to Unsafe
- 208 Change Tags of StatusRemoved from [] to [Deprecated]
- 47 Add StatusRemoved
Strafing
Parameters (1) | |
---|---|
active | bool |
This event does not fire when the Humanoid is strafing and should not be used by developers
This event is fired when the Humanoid enters or leaves the
StrafingNoPhysics
HumanoidStateType.
When the Humanoid enters the StrafingNoPhysics
state this event
will fire with an active parameter of true. The event will fire again
with active equal to false when the Humanoid leaves the
StrafingNoPhysics
state.
This event is associated with the StrafingNoPhysics
Humanoid
state and does not fire when the Humanoid is moving
perpendicular to the direction it is facing. This state is currently
unused, if it is set using Humanoid:ChangeState() the state will
revert to RunningNoPhysics
.
Thread safety | Unsafe |
---|
Swimming
Parameters (1) | |
---|---|
speed | float |
This event fires when the speed at which a Humanoid is swimming in Terrain water changes.
Humanoids swim at 87.5% of their Humanoid.WalkSpeed.
This event will not always fire with a speed of 0 when the Humanoid stops swimming.
See also:
- For running and climbing see the Humanoid.Running and Humanoid.Climbing events
- You can also detect when a Humanoid is swimming using the Humanoid.StateChanged event
- You can disable swimming using the Humanoid:SetStateEnabled() function
Thread safety | Unsafe |
---|
TakeDamage
Parameters (1) | ||
---|---|---|
amount | float | |
Returns (1) | ||
null |
This function lowers the Humanoid.Health of the Humanoid by the given amount if it is not protected by a ForceField
This function accepts negative values for the amount parameter. This will increase the humanoid's Humanoid.Health. However this will only have an effect if no ForceField is present.
How do ForceFields protect against TakeDamage
A Humanoid is considered protected by a ForceField if a ForceField meets one of the following criteria:
- The ForceField shares the same Instance.Parent as the Humanoid
- The ForceField is parented to the Humanoid.RootPart of the Humanoid
- The ForceField is parented to an ancestor of the Humanoid other than the Workspace
To do damage to a Humanoid irrespective of any ForceFields present, set Humanoid.Health directly.
For more information on how ForceFields protect Humanoids see the ForceField page
Thread safety | Unsafe |
---|
History 4
- 573 Change ReturnType of TakeDamage from void to null
- 462 Change ThreadSafety of TakeDamage from to Unsafe
- 55 Change Tags of TakeDamage from [preliminary] to []
- 47 Add TakeDamage
TargetPoint
Type | Default | |
---|---|---|
Vector3 | 0, 0, 0 |
Do not use This property only works with Experimental Mode enabled, which has been entirely discontinued.
This property describes a 3D position in space where the Player controlling this Humanoid last clicked with a Tool equipped.
This property is primarily used by classic tools to determine what a humanoid is targeting when they activate a tool. If you give an NPC a classic rocket launcher, set their TargetPoint, and then call the tool's Tool:Activate() function, you can make the NPC fire a rocket at the target point.
Thread safety | ReadSafe |
---|---|
Category | Control |
Loaded/Saved | false |
History 4
- 553 Change Default of TargetPoint from to Vector3(0, 0, 0)
- 486 Change ThreadSafety of TargetPoint from ReadOnly to ReadSafe
- 462 Change ThreadSafety of TargetPoint from to ReadOnly
- 47 Add TargetPoint
Touched
Parameters (2) | |
---|---|
touchingPart | BasePart |
humanoidPart | BasePart |
This event fires when one of the humanoid's limbs comes in contact with another BasePart. The BasePart which the limb is touching, along with the limb itself, is given.
This event will not fire when limbs belonging to the Humanoid come into contact with themselves.
Alternatives
Although the Humanoid.Touched event is useful, you should consider if there are alternatives that better suit your needs.
- In most cases, it's advised to connect a BasePart.Touched event for BaseParts of interest instead, as the Humanoid.Touched event will constantly fire when the humanoid is moving. For example, in a dodgeball game, it would be more practical to connect a Touched event for the balls rather than use Humanoid.Touched.
- When trying to work out when the Humanoid has landed on the ground, the Humanoid.StateChanged event is more suitable. Alternatively, you can check Humanoid.FloorMaterial to see if the humanoid is standing on any non-air material.
Notes
- Connecting to this event will cause a TouchTransmitter to be created in every limb.
- There is currently no equivalent of BasePart.TouchEnded for Humanoids.
Thread safety | Unsafe |
---|
UnequipTools
Parameters (0) | ||
---|---|---|
No parameters. | ||
Returns (1) | ||
null |
This function unequips any Tool currently equipped by the Humanoid
The unequipped Tool will be parented to the Backpack of the Player associated with the Humanoid.
If no Tool is equipped, this function will do nothing.
Although Tools can be equipped by NPCs (Non Player Characters), this function only works on Humanoids with a corresponding Player. This is because a Backpack object is required to parent the unequipped Tool to.
See also:
- To instead equip a Tool, use Humanoid:EquipTool()
Thread safety | Unsafe |
---|
History 7
- 573 Change ReturnType of UnequipTools from void to null
- 462 Change ThreadSafety of UnequipTools from to Unsafe
- 79 Change Tags of UnequipTools from [preliminary] to []
- 78 Change Tags of UnequipTools from [] to [preliminary]
- 79 Change Tags of UnequipTools from [preliminary] to []
- 55 Change Tags of UnequipTools from [] to [preliminary]
- 51 Add UnequipTools
UseJumpPower
Type | Default | |
---|---|---|
bool | true |
When a character spawns, this property is set according to the value of StarterPlayer.CharacterUseJumpPower which defaults to true.
When jumping, with this set to true, the Humanoid.JumpHeight value is used to ensure the humanoid jumps to that height. With this set to false, the Humanoid.JumpPower value is used to apply an upward force.
Thread safety | ReadSafe |
---|---|
Category | Jump Settings |
Loaded/Saved | true |
History 5
- 553 Change Default of UseJumpPower from to true
- 486 Change ThreadSafety of UseJumpPower from ReadOnly to ReadSafe
- 462 Change ThreadSafety of UseJumpPower from to ReadOnly
- 377 Change Category of UseJumpPower from Game to Jump Settings
- 375 Add UseJumpPower
WalkSpeed
Type | Default | |
---|---|---|
float | 16 |
This property describes how quickly the Humanoid is able to walk, in studs per second. It defaults to the value of StarterPlayer.CharacterWalkSpeed (16), meaning a player character can move 16 studs in any direction each second.
Notes
- When controlled on a mobile device or a gamepad, a humanoid can walk slower than its WalkSpeed if the controlling thumbstick is moved just a gradual degree from center.
- You can freeze a humanoid in place by setting WalkSpeed to 0; this prevents the controlling player from moving it through the default movement mechanisms.
- The default animation script scales a humanoid's movement animations based on how fast it is moving relative to the default speed of 16 studs/second.
- The speed at which the Humanoid is currently walking can be obtained using the Running event.
Thread safety | ReadSafe |
---|---|
Category | Game |
Loaded/Saved | true |
WalkToPart
Type | Default | |
---|---|---|
BasePart |
WalkToPart is a reference to a part that the Humanoid is trying to reach. This property is normally set when a part is passed as the 2nd argument of the Humanoid's Humanoid:MoveTo() function.
When WalkToPart is set and a humanoid is actively trying to reach the part, it will keep updating its Vector3 goal to be the position of the part, plus the Humanoid.WalkToPoint translated in object space relative to the rotation of the part.
This can be described in Lua as:
1
|
|
Caveats
- Setting the value of WalkToPart isn't sufficient enough to make a humanoid start following a part.
- The Humanoid is prompted to start attempting to reach a goal when the value of WalkToPoint is changed.
- This may be changed in the future.
- The reach goal state of a humanoid will timeout after 8 seconds if it doesn't reach its goal.
- This is done so that NPCs won't get stuck waiting for Humanoid.MoveToFinished to fire.
- If you don't want this to happen, you should repeatedly call MoveTo so that the timeout will keep resetting.
Thread safety | ReadSafe |
---|---|
Category | Control |
Loaded/Saved | false |
History 5
- 553 Change Default of WalkToPart from to
- 486 Change ThreadSafety of WalkToPart from ReadOnly to ReadSafe
- 462 Change ThreadSafety of WalkToPart from to ReadOnly
- 329 Change ValueType of WalkToPart from Object to BasePart
- 47 Add WalkToPart
WalkToPoint
Type | Default | |
---|---|---|
Vector3 | 0, 0, 0 |
WalkToPoint describes the 3D position in space that a humanoid is trying to reach, after having been prompted to do so by the Humanoid's Humanoid:MoveTo() function.
If a humanoid's Humanoid.WalkToPart is set, the goal is set by transforming WalkToPoint relative to the parts position and rotation. If WalkToPart is not set, then the humanoid will try to reach the 3D position specified by WalkToPoint directly.
Caveats
- The value of WalkToPoint must be changed to a different value in order for the humanoid to start walking towards it.
- If you want to make a humanoid walk to
0,0,0
, you should use the Humanoid's MoveTo function. - This may be changed in the future.
- The reach goal state of a humanoid will timeout after 8 seconds if it doesn't reach its goal.
- This is done so that NPCs won't get stuck waiting for Humanoid.MoveToFinished to fire.
- If you don't want this to happen, you should repeatedly call MoveTo so that the timeout will keep resetting.
Thread safety | ReadSafe |
---|---|
Category | Control |
Loaded/Saved | false |
History 4
- 553 Change Default of WalkToPoint from to Vector3(0, 0, 0)
- 486 Change ThreadSafety of WalkToPoint from ReadOnly to ReadSafe
- 462 Change ThreadSafety of WalkToPoint from to ReadOnly
- 47 Add WalkToPoint
loadAnimation
Parameters (1) | ||
---|---|---|
animation | Animation | |
Returns (1) | ||
AnimationTrack |
Thread safety | Unsafe |
---|
History 5
- 553 Change PreferredDescriptor of loadAnimation from to LoadAnimation
- 486 Change Parameters of loadAnimation from (animation: Instance) to (animation: Animation)
- 486 Change ReturnType of loadAnimation from Instance to AnimationTrack
- 462 Change ThreadSafety of loadAnimation from to Unsafe
- 49 Add loadAnimation
maxHealth
Type | Default | |
---|---|---|
float | 100 |
Thread safety | ReadSafe |
---|---|
Category | Game |
Loaded/Saved | true/false |
takeDamage
Parameters (1) | ||
---|---|---|
amount | float | |
Returns (1) | ||
null |
Thread safety | Unsafe |
---|
History 4
- 573 Change ReturnType of takeDamage from void to null
- 553 Change PreferredDescriptor of takeDamage from to TakeDamage
- 462 Change ThreadSafety of takeDamage from to Unsafe
- 49 Add takeDamage
Removed members 3
ApplyDescriptionBlocking
Parameters (1) | ||
---|---|---|
humanoidDescription | HumanoidDescription | |
Returns (1) | ||
null |
Security | RobloxScriptSecurity |
---|---|
Thread safety | Unsafe |
History 5
- 596 Remove ApplyDescriptionBlocking
- 573 Change ReturnType of ApplyDescriptionBlocking from void to null
- 486 Change Parameters of ApplyDescriptionBlocking from (humanoidDescription: Instance) to (humanoidDescription: HumanoidDescription)
- 462 Change ThreadSafety of ApplyDescriptionBlocking from to Unsafe
- 452 Add ApplyDescriptionBlocking
PlayEmoteById
Parameters (2) | ||
---|---|---|
emoteName | string | |
emoteId | int64 | |
Returns (1) | ||
bool |
Security | RobloxScriptSecurity |
---|---|
Thread safety | Unsafe |
History 3
- 463 Remove PlayEmoteById
- 462 Change ThreadSafety of PlayEmoteById from to Unsafe
- 394 Add PlayEmoteById