Uninomicon

Documenting the dark corners of the Unity Engine.

User Tools

Site Tools


monobehaviour

This is an old revision of the document!


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()((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))

  • 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. :!:

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
monobehaviour.1643390743.txt.gz · Last modified: 2022/01/28 17:25 by 73.217.35.3