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.

var normal: Vector3;
Vector3 normal;
normal as Vector3

Description

The normal of the surface we collided with in world space.

	// print the point's normal we impacted
	function OnControllerColliderHit(hit : ControllerColliderHit) {
		Debug.Log("Normal vector we collided at: " + hit.normal);
	}
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour {
    void OnControllerColliderHit(ControllerColliderHit hit) {
        Debug.Log("Normal vector we collided at: " + hit.normal);
    }
}
import UnityEngine
import System.Collections

public class ExampleClass(MonoBehaviour):

	def OnControllerColliderHit(hit as ControllerColliderHit) as void:
		Debug.Log(('Normal vector we collided at: ' + hit.normal))

Note: When the CharacterController is colliding with an edge or a corner rather than a flat surface, the reported normal may be different when colliding with BoxColliders than when colliding with MeshColliders. This is due to a limitation in how PhysX handles Capsule/BoxCollider collisions.