The RigidbodyCharacterController component controls all of the character’s movement. At a high level there are two different types of movement: combat movement and adventure movement. With combat movement the camera is always behind the character’s back and this allows the character to strafe and move backwards. With adventure movement the character can move in any direction and allows for a free camera movement. In the adventure case the character never strafes or moves backwards – they will always rotate to face in the direction that they are moving.
The controller uses a Rigidbody for allow for physics-based movement. The controller can optionally use root motion from the Animator in order to do the actual movement. It will also respond to external forces. An example of an external force includes if there is a nearby explosion and that explosion applies Rigidbody forces to the character.
The RigidbodyCharacterController provides basic movement functionality but the unique functionality comes through the Ability system. The ability system can give the character any functionality. Some of the included abilities include jumping, taking cover, or performing a roll. These abilities have the option of completely overriding the RigidbodyCharacterController behavior or they can work in addition to. For example, the Cover ability takes complete control of the RigidbodyCharacterController while the Spring ability just modifies a single Animator parameter to make the character move faster.
The character’s controller can easily be setup using the Character Builder.
A popup specifying the movement type. Combat movement allows the character to move backwards and strafe. If the character has a camera following it then the character will always be facing in the same direction as the camera. Adventure movement always moves the character in the direction they are facing and the camera can be facing any direction. Top down movement moves rotates the character in the direction of the mouse and moves relative to the camera. RPG is a blend between Combat and Adventure movement types. Psuedo3D is used for 2.5D games. Point and Click moves the character according to the point clicked. The PointClickControllerHandler is required. Four Legged allows movement for the four legged generic characters.
Use Root Motion
Should root motion be used?
Root Motion Speed Multiplier
The multiplier of the root motion movement
The speed that the character can rotate
Aim Rotation Speed
The speed that the character can rotate while aiming
Torso Look Threshold
Do not rotate if the character minus look angle is less than the specified threshold
Local Coop Character
Is the character a local coop character?
Align To Ground
Should the character stay aligned to the ground rotation?
Align To Ground Rotation Speed
If aligning to ground, specifies the speed that the character can rotate to align to the ground
The speed while on the ground and not using root motion
The speed while in the air
The amount of dampening force to apply while on the ground
The amount of dampening force to apply while in the air
Force which keeps the character sticking to the ground while stationary
The additional width of the character's collider
Moving Platform Skin Width
An extra width used to determine if the player is on the ground while on a moving platform
Optionally restrict the x or z position
Min X Position
If restricting the x axis, the minimum x position the character can occupy
Max X Position
If restricting the x axis, the maximum x position the character can occupy
Min Z Position
If restricting the y axis, the minimum y position the character can occupy
Max Z Position
If restricting the y axis, the maximum y position the character can occupy
Max Step Height
The maximum height that the character can step
The offset relative to the character's position that should be used for checking if a step exists
The vertical speed that the character moves when taking a step
The maximum slope angle that the character can move on (in degrees)
Stop Movement Threshold
A -1 to 1 threshold for when the character should stop moving if another object collides with the character. A value of 1 indicates the object is directly in front of the character's move direction while a value of -1 indicates the object is directly behind the character's move direction
Should the character always aim?
Item Use Rotation Threshold
The character will rotate to face in the direction of the camera when using an item which requires aiming. If the character is not facing in the correct direction when trying to use an item, they will automatically rotate until an angle less than this value
Item Forcibly Use Duration
The duration that the character should forcibly use the item
Dual Wield Item Forcibly Use Duration
The duration that the character should forcibly use the dual wielded item
Optionally specify the CapsuleCollider if the current GameObject does not have one attached
Any other colliders that should also be affected by the friction material change
Grounded Idle Friction Material
The friction material to use while on the ground and idle
Grounded Movement Friction Material
The friction material to use while on the ground and moving
Step Friction Material
The friction material to use while stepping
Slope Friction Material
The friction material to use while on a slope
Air Friction Material
The friction material to use while in the air