Reference API Roblox

Engine API

Website

Related

Reference API Roblox

ClimbController

A physics character controller that moves its ControllerManager.RootPart along a climbable surface, such as a ladder.

Member index 4

HistoryMember
731AccelerationTime: float
731BalanceMaxTorque: float
731BalanceSpeed: float
731MoveMaxForce: float
inherited from ControllerBase
731Active: bool
731BalanceRigidityEnabled: bool
731MoveSpeedFactor: float
inherited from Instance
731Archivable: bool
731Capabilities: SecurityCapabilities
731IsInSandbox: bool
731Name: string
731Parent: Instance
731PredictionMode: PredictionMode
731Sandboxed: bool
731UniqueId: UniqueId
576AddTag(tag: string): null
573ClearAllChildren(): null
462Clone(): Instance
573Destroy(): null
486FindFirstAncestor(name: string): Instance
486FindFirstAncestorOfClass(className: string): Instance
486FindFirstAncestorWhichIsA(className: string): Instance
486FindFirstChild(name: string, recursive: bool = false): Instance
486FindFirstChildOfClass(className: string): Instance
486FindFirstChildWhichIsA(className: string, recursive: bool = false): Instance
486FindFirstDescendant(name: string): Instance
563GetActor(): Actor
486GetAttribute(attribute: string): Variant
462GetAttributeChangedSignal(attribute: string): RBXScriptSignal
631GetAttributes(): Dictionary
648GetChildren(): Instances
462GetDebugId(scopeLength: int = 4): string
707GetDescendants(): Instances
486GetFullName(): string
706GetStyled(name: string, selector: string?): Variant
657GetStyledPropertyChangedSignal(property: string): RBXScriptSignal
576GetTags(): Array
576HasTag(tag: string): bool
486IsAncestorOf(descendant: Instance): bool
486IsDescendantOf(ancestor: Instance): bool
664IsPropertyModified(property: string): bool
698QueryDescendants(selector: string): Instances
573Remove(): null
576RemoveTag(tag: string): null
664ResetPropertyToDefault(property: string): null
573SetAttribute(attribute: string, value: Variant): null
462WaitForChild(childName: string, timeOut: double): Instance
731children(): Instances
731clone(): Instance
731destroy(): null
731findFirstChild(name: string, recursive: bool = false): Instance
731getChildren(): Instances
731isDescendantOf(ancestor: Instance): bool
731remove(): null
462AncestryChanged(child: Instance, parent: Instance)
462AttributeChanged(attribute: string)
462ChildAdded(child: Instance)
462ChildRemoved(child: Instance)
462DescendantAdded(descendant: Instance)
462DescendantRemoving(descendant: Instance)
500Destroying()
657StyledPropertiesChanged()
731childAdded(child: Instance)
inherited from Object
731ClassName: string
731className: string
647GetPropertyChangedSignal(property: string): RBXScriptSignal
647IsA(className: string): bool
731isA(className: string): bool
647Changed(property: string)

Removed member index 4

HistoryMember
581BalanceRigidityEnabled: bool
581OrientationMaxTorque: float
543OrientationSpeed: float
581OrientationSpeedFactor: float

Description

ClimbController is a ControllerBase that produces climbing movement for a physics-based character. When it is assigned as the ControllerManager.ActiveController of a ControllerManager, the manager applies constraints each simulation step that move the ControllerManager.RootPart across the climbed surface while keeping it upright and aligned to that surface. Movement follows the surface reported by the manager's climb sensor (ControllerManager.ClimbSensor); if the manager has no climb sensor detecting a surface, the controller has no effect. The direction and target speed come from the requested move velocity scaled by ControllerBase.MoveSpeedFactor, while the ClimbController.MoveMaxForce, ClimbController.BalanceSpeed, and ClimbController.BalanceMaxTorque properties tune how forcefully and how quickly the root part moves and re-aligns.

History 40

Members 4

AccelerationTime

TypeDefault
float0

This property currently has no runtime effect. ClimbController derives target speed from the requested move velocity and ControllerBase.MoveSpeedFactor and does not read AccelerationTime.

History 6

BalanceMaxTorque

TypeDefault
float10000

The maximum torque used to keep the ControllerManager.RootPart aligned upright and aligned to the ControllerManager.ClimbSensor.HitNormal. When misaligned, this amount of torque is applied to reach the BalanceSpeed and realign the root part. A higher torque means more force is required to cause the root part to tilt. This property is hidden and has no effect when ControllerBase.BalanceRigidityEnabled is true.

History 5

BalanceSpeed

TypeDefault
float100

The maximum angular speed used to align the ControllerManager.RootPart upright and aligned to the ControllerManager.ClimbSensor.HitNormal. A lower value means it takes longer for the root part to recover to the align position when misaligned. A higher value results in a quicker recovery.

History 5

MoveMaxForce

TypeDefault
float10000

The maximum force used by the climbing "motor" to move the ControllerManager.RootPart or keep it stationary.

History 7

Removed members 4

BalanceRigidityEnabled

TypeDefault
boolfalse

History 4

OrientationMaxTorque

TypeDefault
float10000

History 4

OrientationSpeed

TypeDefault
float

History 2

OrientationSpeedFactor

TypeDefault
float100

History 4

Settings