OnCollisionEnter not being called, between a Rigidbody and a Box Collider

Hi Guys,

For the love of me I can’t figure this out, I’ve been searching around the forums like crazy too.
Everything I read seems like it should work, however OnCollisionEnter never gets called.

I have an instantiated Projectile with a Rigidbody attached to it, this Projectile has a script on it with the OnCollisionEnter method. This script inherits from MonoBehaviour.

I have 3 cubes with Box Colliders on each of them.

The Projectile simply passes straight through them, and there is no OnCollisonEnter method being called. Here is my code, I have included the entire script as it is relatively short, even though I doubt 99% of it will be of importance.

using UnityEngine;
using System.Collections;
using System.Collections.Generic;

public class ProjectileBehaviour : MonoBehaviour {

	private List<Effect> effects;
	private float distance;
	private Vector3 start;

	public void activate(List<Effect> e, Material m, float d){
		this.effects = e;
		this.renderer.material = m;
		this.distance = d;

		start = transform.position;

		Debug.Log ("activated!!");


	void Update(){
		if(Vector3.Distance (start, transform.position) > distance){
			Destroy (gameObject);


	void OnCollisionEnter(Collision other){
		Debug.Log ("collision!!");
		UnitVars targetVars = other.gameObject.GetComponent<UnitVars>();
		foreach(Effect e in effects){
			e.apply (targetVars);
		Destroy (gameObject);


Does the projectile have a collider?