Legacy Documentation: Version 4.5.0

Script language:

  • JS
  • C#
  • Boo
Script language

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

Description

CollisionFlags is a bitmask returned by CharacterController.Move.

It gives you a broad overview of where your character collided with any other objects.

	function Update () {
		var controller : CharacterController = GetComponent(CharacterController);
		if (controller.collisionFlags == CollisionFlags.None)
			print("Free floating!");

if (controller.collisionFlags & CollisionFlags.Sides) print("Touching sides!"); if (controller.collisionFlags == CollisionFlags.Sides) print("Only touching sides, nothing else!");

if (controller.collisionFlags & CollisionFlags.Above) print("Touching ceiling!"); if (controller.collisionFlags == CollisionFlags.Above) print("Only touching ceiling, nothing else!");

if (controller.collisionFlags & CollisionFlags.Below) print("Touching ground!"); if (controller.collisionFlags == CollisionFlags.Below) print("Only touching ground, nothing else!");

}

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour {
    void Update() {
        CharacterController controller = GetComponent<CharacterController>();
        if (controller.collisionFlags == CollisionFlags.None)
            print("Free floating!");
        
        if (controller.collisionFlags & CollisionFlags.Sides)
            print("Touching sides!");
        
        if (controller.collisionFlags == CollisionFlags.Sides)
            print("Only touching sides, nothing else!");
        
        if (controller.collisionFlags & CollisionFlags.Above)
            print("Touching ceiling!");
        
        if (controller.collisionFlags == CollisionFlags.Above)
            print("Only touching ceiling, nothing else!");
        
        if (controller.collisionFlags & CollisionFlags.Below)
            print("Touching ground!");
        
        if (controller.collisionFlags == CollisionFlags.Below)
            print("Only touching ground, nothing else!");
        
    }
}
import UnityEngine
import System.Collections

public class ExampleClass(MonoBehaviour):

	def Update() as void:
		controller as CharacterController = GetComponent[of CharacterController]()
		if controller.collisionFlags == CollisionFlags.None:
			print('Free floating!')
		if controller.collisionFlags & CollisionFlags.Sides:
			print('Touching sides!')
		if controller.collisionFlags == CollisionFlags.Sides:
			print('Only touching sides, nothing else!')
		if controller.collisionFlags & CollisionFlags.Above:
			print('Touching ceiling!')
		if controller.collisionFlags == CollisionFlags.Above:
			print('Only touching ceiling, nothing else!')
		if controller.collisionFlags & CollisionFlags.Below:
			print('Touching ground!')
		if controller.collisionFlags == CollisionFlags.Below:
			print('Only touching ground, nothing else!')