1. Submit bugs to enter our 5.4 Beta Sweepstakes. Read more about it here.
  2. Unity 5.4 public beta is now available for all users. Grab the build and visit the 5.4 beta forum.
  3. Missing a module? More about the new installer in 5.3 here.
  4. 4.7.1 released for Xcode 7.3 support. Thread here.

Confirmation : no cache needed for "gameObject" property ?

Discussion in 'Scripting' started by Nems, Apr 29, 2012.

  1. Nems

    Nems

    Joined:
    Jul 18, 2011
    Messages:
    64
    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.
     
  2. npsf3000

    npsf3000

    Joined:
    Sep 19, 2010
    Messages:
    3,832
  3. Tobias J.

    Tobias J.

    Joined:
    Feb 21, 2012
    Messages:
    423
    I haven't gotten around to using it yet, but I certainly will: Profiler from the wiki

    Seems very simple. Does the job and no more.
     
  4. andymads

    andymads

    Joined:
    Jun 16, 2011
    Messages:
    950
    Was wondering about this too. Normal advice is to cache components rather than use the properties over and over, but like the OP says, a GameObject is not a component, so is there any need to cache gameObject?

     
  5. AkilaeTribe

    AkilaeTribe

    Joined:
    Jul 4, 2010
    Messages:
    1,149
    I thought there would be some kind of optimization regarding this (like the Lazy class in C# 4.0). Are you sure about this ?
     
  6. andymads

    andymads

    Joined:
    Jun 16, 2011
    Messages:
    950