Humanoid
Humanoid : Instance
Overview
The humanoid object is a core component that enables a simple model instance to behave like an actual character, allowing it to perform basic movements like walking or jumping and interact with various objects in the game.
The humanoid belongs under the category of the top-level Model (Character) and consists of the humanoid controlling the character's behavior and state, the HumanoidRootPart serving as the character's center, six MeshParts comprising the head, torso, arms, and legs, and a Skeleton with 22 Bones.
Properties
AirControl
number
Defines how responsive a humanoid is to movement input while in the air. The default is 0.9.
The closer the value is to 0, the harder it is to change direction while jumping or falling, and the closer it is to 1, the more ground-like control you will feel even in the air.
Code Samples
Humanoid.AirControl = 0.5
AutoJumpEnabled
bool
Currently not supported
Code Samples
AutoRotate
bool
Currently not supported.
Code Samples
AutomaticScalingEnabled
bool
Currently not supported.
Code Samples
CameraOffset
Vector3
The Currently not supported.
Code Samples
CapsuleHeight
number
Specifies the vertical height of the capsule responsible for collision detection of the humanoid. The default is 164.
Only affects the collision area regardless of the character's actual mesh size, with larger values making the character behave as if it has a larger collider.
Code Samples
Humanoid.CapsuleHeight = 82
CapsuleRadius
number
Defines the radius of the humanoid's collision capsule. The default is 24.
Reduce the value to pass through narrow passages or small spaces, or raise it to widen the collision detection range, giving it a wider range of interaction with other objects.
Code Samples
Humanoid.CapsuleRadius = 12
CharacterMeshPos
Vector3
This property specifies how much to offset the humanoid's mesh position from the reference coordinates. The default is (0, -85, 0)
.
This is often used to correct the alignment between the character mesh and the collision capsule, or to slightly move the appearance in a custom rig.
Code Samples
Humanoid.CharacterMeshPos = Vector3.new(0, -1, 0)
DisplayDistanceType
Enum.HumanoidDisplayDistanceType
The Currently not supported.
Code Samples
DisplayName
string
The Currently not supported.
Code Samples
FallingDeceleration
number
This property controls how much speed decreases when the humanoid is falling in the air. The default is 2,500.
If the value is 0, no additional deceleration is applied during a fall, and a larger value gradually reduces speed during the fall, creating a smoother landing sensation.
Code Samples
Humanoid.FallingDeceleration = 0
FallingLateralFriction
Defines the friction coefficient applied when the humanoid moves left and right in the air. The default is 16.
If the value is small, the lateral movement during a fall feel smooth, and if it is large, the direction changes in the air will be controlled more quickly.
Humanoid.FallingLateralFriction = 32
GravityScale
number
This property specifies the gravity multiplier applied to the humanoid. The default is 2.1.
A higher value makes the character fall faster and jump lower, while a lower value gives the sensation of staying airborne longer.
Code Samples
Humanoid.GravityScale = 1
GroundFriction
number
Indicates the friction coefficient applied when the humanoid moves on the ground. The default is 16.
It closely relates to the perceived friction when the character changes direction, and a lower value increases the slippery feel during turns, while a higher value results in sharper direction changes.
Code Samples
Humanoid.GroundFriction = 5
Health
number
This property indicates the humanoid's current health.
The value is valid only between 0 and MaxHealth, and values outside this range are automatically adjusted to fit within it.
If the character dies (in Dead state), this value is forcibly set to 0. It is recommended to use the TakeDamage() method to reduce health rather than manually modifying the property.
When health reaches 0, the humanoid automatically transitions to the Dead state, and even when changed to the Dead state via the ChangeState() method, the Health value is set to 0.
Code Samples
Humanoid.Health = 0
HealthDisplayDistance
number
The Currently not supported.
HipHeight
number
The Currently not supported.
Code Samples
IgnoreBaseRotation
bool
This property controls whether the rotation of the floor the humanoid is standing on is reflected in input and camera.
The default is true, and in this state, even if the character is on a rotating platform, it physically rotates with it, but the input direction and camera are not affected.
Conversely, setting this value to false
causes the floor rotation to affect both the character and the camera, giving the sensation that the character's control direction and viewpoint rotate together.
Code Samples
print(Humanoid.IgnoreBaseRotation)
Humanoid.IgnoreBaseRotation = false
Jump
bool
This property indicates whether the humanoid is attempting a jump action.
If this value is set to true, the humanoid transitions to a jumping state, and it automatically returns to false when the jump is completed or canceled midway.
It is automatically set to true by player input (spacebar, touch gestures, etc.), but the value can also be set manually via a script to forcibly trigger a jump.
Code Samples
print(Humanoid.Jump)
JumpHeight
number
Determines the maximum height (in cm) that the humanoid can reach when jumping. The default is 135.
Setting this property to 0 will prevent the Humanoid from jumping, but to completely restrict jumping, it is recommended to use the Humanoid:SetStateEnabled() method to disable the Jumping state rather than changing the value.
ℹ️ OVERDARE Studio Defaults: In the Studio, JumpHeight is used as the default jump property, and unless changed by the creator, jump motion is calculated based on this value instead of JumpPower.
Code Samples
Humanoid.JumpHeight = 200
JumpPower
number
This property defines the amount of upward force applied when the humanoid jumps.
The default is 400, and the actual jump height is also affected by the gravity value set in Workspace.Gravity.
Setting this property to 0 prevents the humanoid from jumping, but to completely diable jumping, it is recommended to use the Humanoid:SetStateEnabled() method to disable the Jumping state rather than changing this value.
Code Samples
Humanoid.JumpPower = 1000
MaxAcceleration
number
This property defines the maximum speed at which the humanoid can accelerate to on the ground.
A higher value makes the character more quickly respond to input and reach top speed instantly, while a lower value makes the character's movements gradual and heavy.
This is often used to adjust the game's controls (light vs. heavy).
Code Samples
Humanoid.MaxAcceleration = 1500
MaxHealth
number
This property specifies the maximum health of the humanoid.
Code Samples
print(Humanoid.MaxHealth)
MaxJumpCount
number
This property specifies the maximum number of consecutive jumps the humanoid can make. The default is 1, meaning only an ordinary single jump is possible.
Setting the value to 2 or higher enables double jumps or more, and setting it to 0 disables jumping entirely.
Code Samples
Humanoid.MaxJumpCount = 2
MaxSlopeAngle
number
Defines the maximum slope angle the humanoid can climb.
The default is 45, and steeper slopes prevents the humanoid from sliding or moving, while lower values only allows movement on flatter terrain.
Code Samples
Humanoid.MaxSlopeAngle = 60
MoveDirection
Vector3
The Currently not supported.
Code Samples
PlatformStand
bool
The Currently not supported.
Code Samples
RootPart
BasePart
This property points to the HumanoidRootPart, the central part of the humanoid. (Read-only)
This part plays the role of a reference point that controls the character's walking or running movements in 3D space, and is usually not visible on the screen.
Code Samples
print(Humanoid.RootPart)
RotationSpeed
number
Defines the speed in degrees (º) at which the humanoid can rotate per second(s). The default is 3,000.
Lowering the value makes the character turn more slowly when changing direction, while raising it makes the character turn more immediately.
Code Samples
Humanoid.RotationSpeed = 180
Sit
bool
The Currently not supported.
Code Samples
StompJumpMultiplier
number
This property specifies the jump multiplier applied when the humanoid steps on another character. The default is 0, meaning that stepping on another character does not result in an additional bounce.
Setting the value to 1 or higher causes the character to bounce at a height similar to a normal jump when stepping on it, while larger values creates a stronger bounce effect.
Code Samples
Humanoid.StompJumpMultiplier = 1.5
UseJumpPower
bool
This property specifies whether the humanoid uses the JumpPower value when calculating the jump height. The default is false, and JumpHeight is applied by default.
When set to true, the jump height is determined by the combination of JumpPower and Workspace.Gravity values.
Code Samples
Humanoid.UseJumpPower = true
Humanoid.JumpPower = 600
WalkingDeceleration
number
Indicates the degree of deceleration when the humanoid stops moving. The default is 2,500.
A larger value causes the character to stop immediately, while a smaller value makes it stop gradually, as if sliding due to inertia.
Code Samples
Humanoid.WalkingDeceleration = 500
WalkSpeed
number
This property defines the speed at which the humanoid can move per second. The default is 500.
In mobile environments, unlike when controlling with a keyboard in the Studio, the actual movement speed may be slower than the WalkSpeed value unless the joystick is fully tilted.
Setting this value to 0 immobilizes the character and nullifies input from players.
Additionally, OVERDARE's default animation script automatically adjusts the playback speed of walking and running animations to match the character's actual movement speed.
Code Samples
Humanoid.WalkSpeed = 4000
WalkToPoint
Vector3
The Currently not supported.
Code Samples
HitboxType
Enum.HitboxType
This property defines how the humanoid's hit judgment is determined.
The default is Single, which wraps the entire character with a single capsule-shaped hitbox and does not support hit detection on individual body parts.
When set to SixBody or FittedSixBody, it creates hitboxes fixed to major body parts such as the head, torso, arms, and legs, allowing for judgment for each body part. In particular, FittedSixBody has hitboxes that are precisely adjusted to match the character's appearance and the clothes worn.
This value needs to be configured in the Workspace in advance. It cannot be modified at runtime while the game is running. Therefore, this property must be configured during the editing phase in the Studio.
Code Samples
print(Humanoid.HitBoxType)
LookCameraDirection
bool
This property specifies whether the camera will follow the direction the humanoid character is facing.
It is recommended to use UserGameSettings.RotationType instead of this property.
Code Samples
Humanoid.LookCameraDirection = true
DefaultBlendSpace
BlendSpace
Code Samples
Humanoid.DefaultBlendSpace = BasicBlendSpace
BlendSpace
BlendSpace
This property specifies the blendspace to use.
Blendspace is a feature that enables interpolation of multiple animations based on parameters such as character speed or direction of movement, creating smooth transitions and animations blended appropriate to the context.
Code Samples
Humanoid.BlendSpace = BasicBlendSpace
Methods
AddAccessory
The Currently not supported.
Parameters
Instance
InAccessory
Return
void
Code Samples
ApplyDescription
Changes the character's appearance to match the entered HumanoidDescription information.
The HumanoidDescription object is copied and stored in the humanoid, where it is later used to define the character's appearance.
Parameters
HumanoidDescription
InDescription
The appearance information to set.
Enum.AssetTypeVerification
InAssetTypeVerification
This property specifies how to validate assets included in the appearance information. (Currently only the default value is supported.)
Return
void
Code Samples
local Workspace = game:GetService("Workspace")
local HumanoidDescription = Workspace:WaitForChild("HumanoidDescription")
Humanoid:ApplyDescription(HumanoidDescription, Enum.AssetTypeVerification.Default)
ApplyDescriptionReset
The Currently not supported.
Parameters
HumanoidDescription
InDescription
Enum.AssetTypeVerification
InAssetTypeVerification
Return
void
Code Samples
EquipTool
Allows the humanoid to equip the given tool.
If another tool is already equipped, it needs to be unequipped first before equipping the newly given tool.
Parameters
Instance
InTool
The tool to equip.
Return
void
Code Samples
Humanoid:EquipTool(Tool)
GetAccessories
The Currently not supported.
Parameters
Return
Tuple
Code Samples
GetAppliedDescription
Returns the appearance information (HumanoidDescription) applied to the humanoid.
You can check the current character's appearance configuration through the returned object, and if necessary, you can apply the same appearance to another character using the ApplyDescription() method.
Returns nil if no appearance information is set.
Parameters
Return
HumanoidDescription
Returns the set appearance information.
Code Samples
local Description = Humanoid:GetAppliedDescription()
UnequipTools
Removes all tools currently equipped by the humanoid.
Parameters
Return
void
Code Samples
Humanoid:UnequipTools()
RemoveAccessories
The Currently not supported.
Parameters
Return
void
Code Samples
TakeDamage
Reduces the humanoid's health by the specified amount, and passing a negative value restores health.
Parameters
number
InDamage
This value applies to stamina. If positive, it reduces stamina; if negative, it restores stamina.
Return
void
Code Samples
Humanoid:TakeDamage(100)
LoadAnimation
(deprecated) Loads a specific animation to apply to the humanoid, and returns an AnimationTrack object that can be played and controlled.
This method is no longer recommended; use Animator:LoadAnimation() instead.
Parameters
Animation
InAnimation
The animation to use.
Return
AnimationTrack
The returned animation track.
Code Samples
local Animation = Instance.new("Animation")
Animation.AnimationId = "ovdrassetid://18850100" -- WinAnimation01
local AnimationTrack = Humanoid:LoadAnimation(Animation)
AnimationTrack:Play()
ChangeState
Alters the current action by transitioning the humanoid's state to the specified HumanoidStateType value.
However, due to the nature of humanoid actions, some states may not be applied. For example, setting its state to Landed will not work while it is in the air.
State changes should be handled by LocalScript.
Parameters
Enum.HumanoidStateType
StateType
The state to change to.
Return
void
Code Samples
Humanoid:ChangeState(Enum.HumanoidStateType.Physics)
SetStateEnabled
Controls whether the humanoid can enter the specified HumanoidStateType state.
If you disable a particular state, the humanoid will not transition to that state even if your script calls ChangeState() or conditions are met.
This is often used to prevent jumping or disable the Climb state. Some states, such as Running, cannot be controlled by this method.
Parameters
Enum.HumanoidStateType
InHumanoidStateType
The state to enable or not.
bool
bInEnabled
Whether enabled or not.
Return
void
Code Samples
Humanoid:SetStateEnabled(Enum.HumanoidStateType.Climbing, false)
GetState
Returns the current behavioral state of the humanoid as a HumanoidStateType value, which can be used to determine which action the character is performing, such as jumping, falling, or running.
Parameters
Return
Enum.HumanoidStateType
Returns the current state of the humanoid.
Code Samples
print(Humanoid:GetState())
Events
ApplyDescriptionFinished
The Currently not supported.
Parameters
Code Samples
Climbing
This event is executed when the humanoid transitions to the Climb state.
Parameters
Code Samples
local function OnClimbing()
print("Climbing!")
end
Humanoid.Climbing:Connect(OnClimbing)
ClusterCompositionFinished
The Currently not supported.
Parameters
Code Samples
Died
This event is executed when the humanoid transitions to the Dead state, usually when its health reaches 0.
Parameters
Code Samples
local function OnDied()
print("Die!")
end
Humanoid.Died:Connect(OnDied)
EmoteTriggered
The Currently not supported.
Parameters
Code Samples
FallingDown
The Currently not supported.
Parameters
Code Samples
FreeFalling
This event is executed when the humanoid enters the Freefall state, usually when falling in the air.
Parameters
Code Samples
local function OnFreeFalling()
print("FreeFalling!")
end
Humanoid.FreeFalling:Connect(OnFreeFalling)
GettingUp
The Currently not supported.
Parameters
Code Samples
HealthChanged
This event is executed whenever the humanoid's health changes, and is also called when it transitions to the Dead state after its health reaches 0.
Parameters
number
Health
The changed health.
Code Samples
local function OnHealthChanged(health)
print("HealthChanged!", health)
end
Humanoid.HealthChanged:Connect(OnHealthChanged)
Jumping
This event is executed when the humanoid transitions to the Jumping state.
Parameters
Code Samples
local function OnJumping()
print("Jumping!")
end
Humanoid.Jumping:Connect(OnJumping)
MoveToFinished
The Currently not supported.
Parameters
Code Samples
PlatformStanding
The Currently not supported.
Parameters
Code Samples
Running
This event is executed when the humanoid transitions to the Running state.
Parameters
Code Samples
local function OnRunning()
print("Running!")
end
Humanoid.Running:Connect(OnRunning)
StateChanged
This event is executed when the humanoid transitions to a different action state.
However, since there is no separate idle state, you must manually check the velocity (AssemblyLinearVelocity) of the RootPart to determine if the character is stationary.
Parameters
Enum.HumanoidStateType
PreviousState
The state before change.
Enum.HumanoidStateType
CurrentState
The state after change.
Code Samples
local function OnStateChanged(prevState, newState)
print("StateChanged!", prevState, "->", newState)
end
Humanoid.StateChanged:Connect(OnStateChanged)
StateEnabledChanged
The Currently not supported.
Parameters
Code Samples
Swimming
This event is executed when the humanoid transitions to the Swimming state.
Parameters
Code Samples
local function OnSwimming()
print("Swimming!")
end
Humanoid.Swimming:Connect(OnSwimming)
Touched
The Currently not supported.
Parameters
Code Samples
Landed
This event is executed when the humanoid transitions to the Landed state.
Parameters
Code Samples
local function OnLanded()
print("Landed!")
end
Humanoid.Landed:Connect(Landed)
PlatformStandingMoving
The Currently not supported.
Parameters
Code Samples
See also
CharacterLast updated