ControllerManager

Show Deprecated
Not Browsable

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.

Methods

Events

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 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 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.

Methods

Events