====== MonoBehaviour ====== ===== Event Functions ===== ==== Reset() ==== * Reset is only called in editor mode. * Very useful to setup values for your attributes, i.e. find a child component. * Use it with the RequireComponent attribute to always get a reference for your component. ==== Awake() ==== * Awake will still be called for disabled components on enabled objects. ==== Start() ==== * Start is guaranteed to be called before the first FixedUpdate() or Update() for **this** component. * If no FixedUpdate() or Update() events are defined, Start will be run at the end of the frame the object awoke on. ==== OnDisable/OnDestroy() ==== * Both events are not affected by script execution order. * Scene is traversed from each root separately in unspecified (non-hierarchy) order, e.g. [root 1 and all its children], [root 2 and all its children]. "root" being a top-level GameObject in scene. * All OnDisable calls are performed before all OnDestroy calls within a single root. * Only root GameObject ''activeSelf'' is changed, for children it will not be changed. * Components are traversed in the order they appear in Inspector, top to bottom. * **OnDisable**: * Call order: same as hierarchy, child before parent. :!: * ''activeInHierarchy'' propagation can be unfinished for the following siblings and their children. * **OnDestroy**: * Call order: same as hierarchy, parent before child. :!: (Above Tested with 2017.4 and an opened Scene running in play mode in editor by stopping the play mode, may differ for other versions/situations) ==== OnBecameVisible() ==== * Does not get called if the game object is rendered by a ugui CanvasRenderer ==== OnBecameInvisible() ==== * Does not get called if the game object is rendered by a ugui CanvasRenderer