Humanoid
Controls character movement, state, rigging, animation, accessories, and tools.
Functions
`isVec3`
`isCF`
`flat`
`copy`
`signals`
`props`
`controller`
`characterOf`
`ownerRoot`
`localOwner`
`shouldSimulate`
`canSim`
`stanceOffset`
`shouldLogHumanoidRoot`
`speedMul`
`markRigPart`
`partFor`
`buildRig`
`encodeRigDescriptor`
`decodeRigDescriptor`
`exportRigDescriptor`
`defaultRig`
`inferRigDescriptorFromCharacter`
`syncRoot`
`segPose`
`poseOffset`
`applyPose`
`setState`
`updateStance`
`isSeated`
`reportSpeed`
`restoreRigFromDescriptor`
`humanoidDefaultPose`
`configureAnimator`
`getAnimator`
`getAssociatedPlayer`
`getRegistry`
`createObject`
`bind`
`h:BindRig`
Binds a rig definition to the humanoid without creating default parts.
`h:BuildRig`
Builds rig parts from a rig definition and binds them to the humanoid.
`h:CreateDefaultRig`
Creates and binds a default humanoid rig.
`h:RestoreRig`
Restores rig bindings from the current rig descriptor or character parts.
`h:GetRigPart`
Returns a rig part by binding or indexed segment name.
`h:GetRigChain`
Returns the ordered part chain for a rig binding.
`h:GetRigBindings`
Returns the active rig binding table.
`h:SetAnimator`
Sets the animator instance or pose provider used by this humanoid.
`h:SetPoseOffset`
Sets an additional pose offset for a rig binding.
`h:ClearPoseOffset`
Clears a pose offset for a rig binding.
`h:SetSpeedModifier`
Adds or replaces a named movement speed multiplier.
`h:RemoveSpeedModifier`
Removes a named movement speed multiplier.
`h:SetIKCallback`
Sets a callback that can override or add inverse-kinematics pose data.
`h:GetEffectiveWalkSpeed`
Returns WalkSpeed after sprint, crouch, and custom modifiers are applied.
`h:SetSprinting`
Enables or disables sprinting and updates stance state.
`h:SetCrouching`
Enables or disables crouching and updates stance state.
`h:ToggleCrouch`
Toggles the crouching state.
`h:EquipTool`
Equips a Tool by parenting it to the character and activating equip hooks.
`h:UnequipTools`
Unequips all Tool children from the character.
`h:AddAccessory`
Adds an Accessory to the character and tracks it for rig attachment.
`h:RemoveAccessory`
Removes a tracked Accessory from the humanoid.
`h:GetAccessories`
Returns all accessories currently tracked by the humanoid.
`h:Move`
Sets the humanoid's world-space movement direction.
`h:MoveRelative`
Sets movement from a local direction relative to a CFrame or look-vector provider.
`h:Face`
Sets the desired world-space facing direction.
`h:ClearFacingDirection`
Clears the explicit facing direction so movement can drive rotation again.
`h:Stop`
Clears current movement input.
`h:RequestJump`
Queues a jump request for the next simulation step.
`h:CanDash`
Returns whether the dash cooldown has finished.
`h:Dash`
Starts a dash in the given direction when the cooldown allows it.
`h:GetState`
Returns the humanoid controller's current state.
`h:GetRootCFrame`
Returns the current root part CFrame, or identity when no root exists.
`h:GetLookVector`
Returns the current horizontal look vector.
`h:GetFocusPosition`
Returns the camera focus position for the current stance.
`stepHumanoid`
isVec3
Arguments
vReturns
isCF
Arguments
vReturns
flat
Arguments
vReturns
copy
Arguments
tblReturns
signals
Arguments
Returns
props
Arguments
Returns
controller
Arguments
Returns
characterOf
Arguments
hReturns
ownerRoot
Arguments
hReturns
localOwner
Arguments
h, gameReturns
shouldSimulate
Arguments
h, gameReturns
canSim
Arguments
hReturns
stanceOffset
Arguments
hReturns
shouldLogHumanoidRoot
Arguments
root, intervalReturns
speedMul
Arguments
hReturns
markRigPart
Arguments
part, isRootReturns
partFor
Arguments
name, parent, spec, isRoot, createInstanceReturns
buildRig
Arguments
parent, bindings, createInstanceReturns
encodeRigDescriptor
Arguments
descriptorReturns
decodeRigDescriptor
Arguments
rawDescriptorReturns
exportRigDescriptor
Arguments
root, bindingsReturns
defaultRig
Arguments
optionsReturns
inferRigDescriptorFromCharacter
Arguments
char, rootReturns
syncRoot
Arguments
hReturns
segPose
Arguments
pose, name, iReturns
poseOffset
Arguments
h, bindingName, segName, iReturns
applyPose
Arguments
h, rootCF, poseReturns
setState
Arguments
h, c, nextStateReturns
updateStance
Arguments
hReturns
isSeated
Arguments
hReturns
reportSpeed
Arguments
h, c, speedReturns
restoreRigFromDescriptor
Arguments
h, cReturns
humanoidDefaultPose
Arguments
animator, humanoid, contextReturns
configureAnimator
Arguments
animator, autoEnableDefaultsReturns
getAnimator
Arguments
h, createIfMissing, createInstanceReturns
getAssociatedPlayer
Arguments
humanoidReturns
getRegistry
Arguments
Returns
createObject
Arguments
classNameReturns
bind
Arguments
defReturns
h:BindRig
Binds a rig definition to the humanoid without creating default parts.
Arguments
def: anyReturns
Model?h:BuildRig
Builds rig parts from a rig definition and binds them to the humanoid.
Arguments
def: anyReturns
Model?h:CreateDefaultRig
Creates and binds a default humanoid rig.
Arguments
options: tableReturns
Model?h:RestoreRig
Restores rig bindings from the current rig descriptor or character parts.
Arguments
Returns
booleanh:GetRigPart
Returns a rig part by binding or indexed segment name.
Arguments
name: stringReturns
anyh:GetRigChain
Returns the ordered part chain for a rig binding.
Arguments
name: stringReturns
{ any }?h:GetRigBindings
Returns the active rig binding table.
Arguments
Returns
tableh:SetAnimator
Sets the animator instance or pose provider used by this humanoid.
Arguments
animatorOrProvider: anyReturns
anyh:SetPoseOffset
Sets an additional pose offset for a rig binding.
Arguments
name: string, offset: CFrameReturns
h:ClearPoseOffset
Clears a pose offset for a rig binding.
Arguments
name: stringReturns
h:SetSpeedModifier
Adds or replaces a named movement speed multiplier.
Arguments
key: any, mult: numberReturns
h:RemoveSpeedModifier
Removes a named movement speed multiplier.
Arguments
key: anyReturns
h:SetIKCallback
Sets a callback that can override or add inverse-kinematics pose data.
Arguments
source: any, callback: functionReturns
h:GetEffectiveWalkSpeed
Returns WalkSpeed after sprint, crouch, and custom modifiers are applied.
Arguments
Returns
numberh:SetSprinting
Enables or disables sprinting and updates stance state.
Arguments
on: booleanReturns
h:SetCrouching
Enables or disables crouching and updates stance state.
Arguments
on: booleanReturns
h:ToggleCrouch
Toggles the crouching state.
Arguments
Returns
h:EquipTool
Equips a Tool by parenting it to the character and activating equip hooks.
Arguments
tool: anyReturns
h:UnequipTools
Unequips all Tool children from the character.
Arguments
Returns
h:AddAccessory
Adds an Accessory to the character and tracks it for rig attachment.
Arguments
accessory: anyReturns
h:RemoveAccessory
Removes a tracked Accessory from the humanoid.
Arguments
accessory: anyReturns
h:GetAccessories
Returns all accessories currently tracked by the humanoid.
Arguments
Returns
{ any }h:Move
Sets the humanoid's world-space movement direction.
Arguments
dir: Vector3Returns
h:MoveRelative
Sets movement from a local direction relative to a CFrame or look-vector provider.
Arguments
localDir: Vector3, ref: anyReturns
h:Face
Sets the desired world-space facing direction.
Arguments
dir: Vector3Returns
h:ClearFacingDirection
Clears the explicit facing direction so movement can drive rotation again.
Arguments
Returns
h:Stop
Clears current movement input.
Arguments
Returns
h:RequestJump
Queues a jump request for the next simulation step.
Arguments
Returns
h:CanDash
Returns whether the dash cooldown has finished.
Arguments
Returns
booleanh:Dash
Starts a dash in the given direction when the cooldown allows it.
Arguments
dir: Vector3?Returns
booleanh:GetState
Returns the humanoid controller's current state.
Arguments
Returns
Enum.HumanoidStateTypeh:GetRootCFrame
Returns the current root part CFrame, or identity when no root exists.
Arguments
Returns
CFrameh:GetLookVector
Returns the current horizontal look vector.
Arguments
Returns
Vector3h:GetFocusPosition
Returns the camera focus position for the current stance.
Arguments
Returns
Vector3stepHumanoid
Arguments
dtReturns
API
instance:isVec3(v)
instance:isCF(v)
instance:flat(v)
instance:copy(tbl)
instance:signals()
instance:props()
instance:controller()
instance:characterOf(h)
instance:ownerRoot(h)
instance:localOwner(h, game)
instance:shouldSimulate(h, game)
instance:canSim(h)
instance:stanceOffset(h)
instance:shouldLogHumanoidRoot(root, interval)
instance:speedMul(h)
instance:markRigPart(part, isRoot)
instance:partFor(name, parent, spec, isRoot, createInstance)
instance:buildRig(parent, bindings, createInstance)
instance:encodeRigDescriptor(descriptor)
instance:decodeRigDescriptor(rawDescriptor)
instance:exportRigDescriptor(root, bindings)
instance:defaultRig(options)
instance:inferRigDescriptorFromCharacter(char, root)
instance:syncRoot(h)
instance:segPose(pose, name, i)
instance:poseOffset(h, bindingName, segName, i)
instance:applyPose(h, rootCF, pose)
instance:setState(h, c, nextState)
instance:updateStance(h)
instance:isSeated(h)
instance:reportSpeed(h, c, speed)
instance:restoreRigFromDescriptor(h, c)
instance:humanoidDefaultPose(animator, humanoid, context)
instance:configureAnimator(animator, autoEnableDefaults)
instance:getAnimator(h, createIfMissing, createInstance)
instance:getAssociatedPlayer(humanoid)
instance:getRegistry()
instance:createObject(className)
instance:bind(def)
instance:BindRig(def: any): Model?
instance:BuildRig(def: any): Model?
instance:CreateDefaultRig(options: table): Model?
instance:RestoreRig(): boolean
instance:GetRigPart(name: string): any
instance:GetRigChain(name: string): { any }?
instance:GetRigBindings(): table
instance:SetAnimator(animatorOrProvider: any): any
instance:SetPoseOffset(name: string, offset: CFrame)
instance:ClearPoseOffset(name: string)
instance:SetSpeedModifier(key: any, mult: number)
instance:RemoveSpeedModifier(key: any)
instance:SetIKCallback(source: any, callback: function)
instance:GetEffectiveWalkSpeed(): number
instance:SetSprinting(on: boolean)
instance:SetCrouching(on: boolean)
instance:ToggleCrouch()
instance:EquipTool(tool: any)
instance:UnequipTools()
instance:AddAccessory(accessory: any)
instance:RemoveAccessory(accessory: any)
instance:GetAccessories(): { any }
instance:Move(dir: Vector3)
instance:MoveRelative(localDir: Vector3, ref: any)
instance:Face(dir: Vector3)
instance:ClearFacingDirection()
instance:Stop()
instance:RequestJump()
instance:CanDash(): boolean
instance:Dash(dir: Vector3?): boolean
instance:GetState(): Enum.HumanoidStateType
instance:GetRootCFrame(): CFrame
instance:GetLookVector(): Vector3
instance:GetFocusPosition(): Vector3
instance:stepHumanoid(dt)