Transform.root

var root : Transform

Description

Returns the topmost transform in the hierarchy.

(This never returns null, if this Transform doesn't have a parent it returns itself.)

JavaScript
    // Is a collision between two objects in different hierarchies?
function OnCollisionEnter(collision : Collision) {
if ( collision.transform.root != transform.root ) {
print("The colliding objects are not in the same hierarchy");
}
}

using UnityEngine;
using System.Collections;

public class example : MonoBehaviour {
void OnCollisionEnter(Collision collision) {
if (collision.transform.root != transform.root)
print("The colliding objects are not in the same hierarchy");

}
}

import UnityEngine
import System.Collections

class example(MonoBehaviour):

def OnCollisionEnter(collision as Collision):
if collision.transform.root != transform.root:
print('The colliding objects are not in the same hierarchy')