Hi, I would like to access the GameObject of a component and there is a property for that : http://unity3d.com/support/documentation/ScriptReference/Component-gameObject.html Best practices advice to cache element through the Awake method, instead of using component's properties. Because behind the scene, property (like "transform") performs a : GetComponent call. But, GameObject is not even a component (inherit from Object), so I presume there is no need to cache it in a private var. Can you confirm that fact ?? I am worried about performances and I need a process as cheap as possible to check the layer of an object after a RayCast. The only way I found is to retrieve the GO, then use the layer property.