ControllerManager

Show Deprecated

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

Properties

ActiveController

read parallel

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

read parallel

The base linear movement speed used by all controllers. Controllers individually customize speed by setting the ControllerBase.MoveSpeedFactor property.

BaseTurnSpeed

read parallel

The base angular turning speed used by all controllers to align the character to face the desired direction.

ClimbSensor

read parallel

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

read parallel

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

read parallel

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

read parallel

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

read parallel

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.

UpDirection

read parallel

Methods

Events