Legacy Documentation: Version 4.6.2
Language: English
  • C#
  • JS
  • Boo

Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

CharacterController

Namespace: UnityEngine

/

Inherits from: Collider

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Sumbission failed

For some reason your suggested change could not be submitted. Please try again in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

Switch to Manual

Description

A CharacterController allows you to easily do movement constrained by collisions without having to deal with a rigidbody.

A CharacterController is not affected by forces and will only move when you call the Move funtion. It will then carry out the movement but be constrained by collisions.

See Also: Character Controller component and Character animation examples

Variables

center The center of the character's capsule relative to the transform's position.
collisionFlags What part of the capsule collided with the environment during the last CharacterController.Move call.
detectCollisions Determines whether other rigidbodies or character controllers collide with this character controller (by default this is always enabled).
height The height of the character's capsule.
isGrounded Was the CharacterController touching the ground during the last move?
radius The radius of the character's capsule.
slopeLimit The character controllers slope limit in degrees.
stepOffset The character controllers step offset in meters.
velocity The current relative velocity of the Character (see notes).

Functions

Move A more complex move function taking absolute movement deltas.
SimpleMove Moves the character with speed.

Messages

OnControllerColliderHit OnControllerColliderHit is called when the controller hits a collider while performing a Move.

Inherited members

Variables

attachedRigidbody The rigidbody the collider is attached to.
bounds The world space bounding volume of the collider.
enabled Enabled Colliders will collide with other colliders, disabled Colliders won't.
isTrigger Is the collider a trigger?
material The material used by the collider.
sharedMaterial The shared physic material of this collider.
animation The Animation attached to this GameObject (null if there is none attached).
audio The AudioSource attached to this GameObject (null if there is none attached).
camera The Camera attached to this GameObject (null if there is none attached).
collider The Collider attached to this GameObject (null if there is none attached).
collider2D The Collider2D component attached to the object.
constantForce The ConstantForce attached to this GameObject (null if there is none attached).
gameObject The game object this component is attached to. A component is always attached to a game object.
guiText The GUIText attached to this GameObject (null if there is none attached).
guiTexture The GUITexture attached to this GameObject (Read Only). (null if there is none attached).
hingeJoint The HingeJoint attached to this GameObject (null if there is none attached).
light The Light attached to this GameObject (null if there is none attached).
networkView The NetworkView attached to this GameObject (Read Only). (null if there is none attached).
particleEmitter The ParticleEmitter attached to this GameObject (null if there is none attached).
particleSystem The ParticleSystem attached to this GameObject (null if there is none attached).
renderer The Renderer attached to this GameObject (null if there is none attached).
rigidbody The Rigidbody attached to this GameObject (null if there is none attached).
rigidbody2D The Rigidbody2D that is attached to the Component's GameObject.
tag The tag of this game object.
transform The Transform attached to this GameObject (null if there is none attached).
hideFlags Should the object be hidden, saved with the scene or modifiable by the user?
name The name of the object.

Functions

ClosestPointOnBounds The closest point to the bounding box of the attached collider.
Raycast Casts a Ray that ignores all Colliders except this one.
BroadcastMessage Calls the method named methodName on every MonoBehaviour in this game object or any of its children.
CompareTag Is this game object tagged with /tag/?
GetComponent Returns the component of Type type if the game object has one attached, null if it doesn't.
GetComponentInChildren Returns the component of Type type in the GameObject or any of its children using depth first search.
GetComponentInParent Returns the component of Type type in the GameObject or any of its parents.
GetComponents Returns all components of Type type in the GameObject.
GetComponentsInChildren Returns all components of Type type in the GameObject or any of its children.
GetComponentsInParent Returns all components of Type type in the GameObject or any of its parents.
SendMessage Calls the method named methodName on every MonoBehaviour in this game object.
SendMessageUpwards Calls the method named methodName on every MonoBehaviour in this game object and on every ancestor of the behaviour.
GetInstanceID Returns the instance id of the object.
ToString Returns the name of the game object.

Static Functions

Destroy Removes a gameobject, component or asset.
DestroyImmediate Destroys the object obj immediately. You are strongly recommended to use Destroy instead.
DontDestroyOnLoad Makes the object target not be destroyed automatically when loading a new scene.
FindObjectOfType Returns the first active loaded object of Type type.
FindObjectsOfType Returns a list of all active loaded objects of Type type.
Instantiate Clones the object original and returns the clone.

Operators

bool Does the object exist?
operator != Compares if two objects refer to a different object.
operator == Compares if two objects refer to the same.

Messages

OnCollisionEnter OnCollisionEnter is called when this collider/rigidbody has begun touching another rigidbody/collider.
OnCollisionExit OnCollisionExit is called when this collider/rigidbody has stopped touching another rigidbody/collider.
OnCollisionStay OnCollisionStay is called once per frame for every collider/rigidbody that is touching rigidbody/collider.
OnTriggerEnter OnTriggerEnter is called when the Collider other enters the trigger.
OnTriggerExit OnTriggerExit is called when the Collider other has stopped touching the trigger.
OnTriggerStay OnTriggerStay is called almost all the frames for every Collider other that is touching the trigger.