ControllerManager
The ControllerManager instance manages simulated motion control for its assigned ControllerManager.RootPart. It can be used to build a physics-based character controller.
Summary
Properties
The ControllerBase that is set to be activated on the character.
The base linear movement speed used by all controllers.
The base angular turning speed used by all controllers.
A reference to the sensor data used while a ClimbController is active.
The unit vector describing the desired direction to face.
A reference to the sensor data used while a GroundController is active.
The vector describing the desired direction to move in.
The BasePart where the controller's forces and torques are applied.
Properties
ActiveController
The ControllerBase that is set to be activated on the character. It does not guarantee that the specified ControllerBase is, in fact, active. If the ControllerBase cannot be activated for whatever reason, such as being outside of the character's WorldRoot or no Part being found to use as the floor for a GroundController, it will remain set and the ControllerManager will attempt to activate it in the next frame.
BaseMoveSpeed
The base linear movement speed used by all controllers. Controllers individually customize speed by setting the ControllerBase.MoveSpeedFactor property.
BaseTurnSpeed
The base angular turning speed used by all controllers to align the character to face the desired direction.
ClimbSensor
A reference to the sensor data used while a ClimbController is active. A ClimbController will use the ControllerPartSensor.HitPart, ControllerPartSensor.HitFrame, and ControllerPartSensor.HitNormal for climb movement computations. Typically a ControllerPartSensor set to Enum.SensorMode.Ladder is used here. Otherwise, you can override the sensor's outputs to direct what sensor data you want the ClimbController to use.
FacingDirection
The unit vector describing the desired direction to face. Aligns the LookVector of the ControllerManager.RootPart to this. Any Vector3 assigned will be automatically unitized.
GroundSensor
A reference to the sensor data used while a GroundController is active. A GroundController will use the ControllerPartSensor.HitPart, ControllerPartSensor.HitFrame, and ControllerPartSensor.HitNormal for ground movement computations. Typically a ControllerPartSensor set to Enum.SensorMode.Floor is used here. Otherwise, you can override the sensor's outputs to direct what sensor data you want the GroundController to use.
MovingDirection
The vector describing the desired direction to move in, with a magnitude between 0 and 1. This is multiplied by BaseMoveSpeed to determine a final target move velocity. The RootPart will attempt to move in this direction based on the rules defined by the ActiveController.
RootPart
The BasePart where the controller's forces and torques are applied. With a typical Humanoid-based character, the Humanoid.RootPart is assigned as the ControllerManager.RootPart.