MonoBehaviour is a base class that many Unity scripts derive from.
MonoBehaviour offers life cycle functions that make it easier to develop with Unity.
MonoBehaviours always exist as a Component of a GameObject, and can be instantiated with GameObject.AddComponent. Objects that need to exist independently of a GameObject should derive from ScriptableObject instead.
A MonoBehaviour can be deleted with Object.Destroy or Object.DestroyImmediate. When the parent GameObject is destroyed all components are automatically deleted, including MonoBehaviours.
After the underlying component is destroyed, the C# object for the MonoBehaviour remains in memory until garbage is collected. A MonoBehaviour in this state acts as if it is null. For example, it returns true for a "obj == null" check.
However, this class doesn't support the null-conditional operator (?.) and the null-coalescing operator (??).
When a MonoBehaviour is serialized, the value of C# fields are included according to Unity's Serialization rules. See Script Serialization for details.
The serialized data also includes internal properties, such as the reference to the MonoScript that tracks the implementation class for the object.
For code samples, see the individual MonoBehaviour methods.
Note: There is a checkbox for enabling or disabling MonoBehaviour in the Unity Editor. It disables
functions when unticked. If none of these functions are present in the script, the Unity Editor does not
display the checkbox. The functions are:
Start()
Update()
FixedUpdate()
LateUpdate()
OnGUI()
OnDisable()
OnEnable()
Additional resources: The Deactivating GameObjects page in the manual.
destroyCancellationToken | Cancellation token raised when the MonoBehaviour is destroyed (Read Only). |
didAwake | Returns a boolean value which represents if Awake was called. |
didStart | Returns a boolean value which represents if Start was called. |
runInEditMode | Allow a specific instance of a MonoBehaviour to run in edit mode (only available in the editor). |
useGUILayout | これを無効にすると、GUI のレイアウトフェーズをスキップすることができます |
CancelInvoke | すべての Invoke をキャンセルします |
Invoke | 設定した時間(単位は秒)にメソッドを呼び出します |
InvokeRepeating | 設定した時間(単位は秒)にメソッドを呼び出し、repeatRate 秒ごとにリピートします |
IsInvoking | メソッドの呼出が保留中かどうか |
StartCoroutine | Starts a Coroutine. |
StopAllCoroutines | Behaviour 上で実行されているコルーチンをすべて停止します |
StopCoroutine | この Behaviour 上で実行されている methodName という名のコルーチン、または routine として保持されているコルーチンをすべて停止します |
Unity コンソールにログを出力します (Debug.Log と同じです) |
Awake | Awake is called when an enabled script instance is being loaded. |
FixedUpdate | Frame-rate independent MonoBehaviour.FixedUpdate message for physics calculations. |
LateUpdate | Behaviour が有効の場合、LateUpdate は毎フレーム呼びだされます |
OnAnimatorIK | アニメーション IK (インバースキネマティクス)をセットアップするときのコールバック |
OnAnimatorMove | ルートモーションを修正するアニメーション動作を処理するコールバック |
OnApplicationFocus | プレイヤーがフォーカスを取得、または、失ったときに、すべてのゲームオブジェクトに送信されます。 |
OnApplicationPause | プレイヤーが一時停止したときにすべてのゲームオブジェクトに送信されます |
OnApplicationQuit | Sent to all GameObjects before the application quits. |
OnAudioFilterRead | OnAudioFilterRead が実装されている場合、Unity は DSP チェーンにカスタムフィルターを挿入します。 |
OnBecameInvisible | OnBecameInvisible はレンダラーがカメラから見えなくなったときに呼び出されます |
OnBecameVisible | OnBecameVisible はレンダラーが任意のカメラから見えるようになると呼び出されます |
OnCollisionEnter | この collider/rigidbody は他の collider/rigidbody に触れたときに OnCollisionEnter は呼び出されます。 |
OnCollisionEnter2D | オブジェクトのコライダーが別のコライダーに衝突したときに呼び出されます(2D 物理挙動のみ) |
OnCollisionExit | この collider/rigidbody が他の collider/rigidbody と触れ合うのをやめたときに OnCollisionExit は呼び出されます。 |
OnCollisionExit2D | オブジェクトのコライダーと別のオブジェクトコライダーが衝突から離れた瞬間に呼び出されます(2D 物理挙動のみ) |
OnCollisionStay | OnCollisionStay is called once per frame for every Collider or Rigidbody that touches another Collider or Rigidbody. |
OnCollisionStay2D | オブジェクトのコライダーと別のオブジェクトのコライダーが衝突している間、毎フレーム呼び出され続けます(2D 物理挙動のみ) |
OnConnectedToServer | サーバーとの接続に成功したときにクライアント上で呼び出されます |
OnControllerColliderHit | OnControllerColliderHit はキャラクターコントローラーが移動中にコライダーに衝突した際に、呼び出されます。 |
OnDestroy | Destroying the attached Behaviour will result in the game or Scene receiving OnDestroy. |
OnDisable | This function is called when the behaviour becomes disabled. |
OnDisconnectedFromServer | サーバーとの接続が失われたか切断されたときにクライアント上で呼び出されます |
OnDrawGizmos | 選択可能にしたり、常に描画したいギズモを描画するには OnDrawGizmos を使用します |
OnDrawGizmosSelected | オブジェクトが選択されている場合は、ギズモを描画するために OnDrawGizmosSelected を実装します。 |
OnEnable | この関数はオブジェクトが有効/アクティブになったときに呼び出されます |
OnFailedToConnect | 接続試行がなんらかの理由で失敗したときにクライアント上で呼び出されます |
OnFailedToConnectToMasterServer | MasterServer への接続に問題がある場合に、クライアントまたはサーバーで呼び出されます |
OnGUI | OnGUI はレンダリングと GUI イベントのハンドリングのために呼び出されます |
OnJointBreak | ゲームオブジェクトに対するジョイントが外れたとき呼び出されます |
OnJointBreak2D | ゲームオブジェクトにアタッチした Joint2D が壊れたときに呼び出されます。 |
OnMasterServerEvent | MasterServer からイベントを報告してくるときにクライアントやサーバー上で呼び出されます。 |
OnMouseDown | OnMouseDown is called when the user has pressed the mouse button while over the Collider. |
OnMouseDrag | OnMouseDrag is called when the user has clicked on a Collider and is still holding down the mouse. |
OnMouseEnter | Called when the mouse enters the Collider. |
OnMouseExit | Called when the mouse is not any longer over the Collider. |
OnMouseOver | Called every frame while the mouse is over the Collider. |
OnMouseUp | OnMouseUp はユーザーがマウスボタンを離したときに呼び出されます |
OnMouseUpAsButton | OnMouseUpAsButton is only called when the mouse is released over the same Collider as it was pressed. |
OnNetworkInstantiate | Network.Instantiate でインスタンス化されたオブジェクトに対して呼び出されます |
OnParticleCollision | パーティクルがコライダーにヒットしたときに OnParticleCollision が呼び出されます |
OnParticleSystemStopped | OnParticleSystemStopped is called when all particles in the system have died, and no new particles will be born. New particles cease to be created either after Stop is called, or when the duration property of a non-looping system has been exceeded. |
OnParticleTrigger | OnParticleTrigger is called when any particles in a Particle System meet the conditions in the trigger module. |
OnParticleUpdateJobScheduled | OnParticleUpdateJobScheduled is called when a Particle System's built-in update job has been scheduled. |
OnPlayerConnected | 新しいプレイヤーが接続に成功したときにサーバー上で呼び出されます |
OnPlayerDisconnected | プレイヤーがサーバーから接続が切断されるたびにサーバー上で呼び出されます |
OnPostRender | Event function that Unity calls after a Camera renders the scene. |
OnPreCull | Event function that Unity calls before a Camera culls the scene. |
OnPreRender | Event function that Unity calls before a Camera renders the scene. |
OnRenderImage | Event function that Unity calls after a Camera has finished rendering, that allows you to modify the Camera's final image. |
OnRenderObject | OnRenderObject is called after camera has rendered the Scene. |
OnSerializeNetworkView | ネットワークビューによって監視されるスクリプトの変数の同期をカスタマイズするために使用します |
OnServerInitialized | Network.InitializeServer が実行され完了したときにサーバー上で呼び出されます |
OnTransformChildrenChanged | この関数は GameObject の Transform のすべての子の中で変更があったときに呼び出されます |
OnTransformParentChanged | This function is called when a direct or indirect parent of the transform of the GameObject has changed. |
OnTriggerEnter | When a GameObject collides with another GameObject, Unity calls OnTriggerEnter. |
OnTriggerEnter2D | オブジェクトにアタッチしたトリガーの中に別のオブジェクトが入ったときに呼び出されます。(2D 物理挙動のみ) |
OnTriggerExit | Collider が other のトリガーに触れるのをやめたときに OnTriggerExit は呼び出されます。 |
OnTriggerExit2D | トリガー状態のオブジェクトのコライダーと別のオブジェクトのコライダーが衝突から離れた瞬間に、呼び出されます。(2D 物理挙動のみ) |
OnTriggerStay | OnTriggerStay is called once per physics update for every Collider other that is touching the trigger. |
OnTriggerStay2D | トリガー状態のオブジェクトのコライダーと別のオブジェクトのコライダー衝突している間、毎フレーム呼び出され続けます。(2D 物理挙動のみ) |
OnValidate | Editor-only function that Unity calls when the script is loaded or a value changes in the Inspector. |
OnWillRenderObject | OnWillRenderObject is called for each camera if the object is visible and not a UI element. |
Reset | デフォルト値にリセットします |
Start | Start is called on the frame when a script is enabled just before any of the Update methods are called the first time. |
Update | Update は MonoBehaviour が有効の場合に、毎フレーム呼び出されます |
enabled | 有効であれば更新され、無効であれば更新されません。 |
isActiveAndEnabled | Reports whether a GameObject and its associated Behaviour is active and enabled. |
gameObject | このコンポーネントはゲームオブジェクトにアタッチされます。コンポーネントはいつもゲームオブジェクトにアタッチされています。 |
tag | ゲームオブジェクトのタグ |
transform | The Transform attached to this GameObject. |
hideFlags | Should the object be hidden, saved with the Scene or modifiable by the user? |
name | オブジェクト名 |
BroadcastMessage | ゲームオブジェクトまたは子オブジェクトにあるすべての MonoBehaviour を継承したクラスにある methodName 名のメソッドを呼び出します。 |
CompareTag | Checks the GameObject's tag against the defined tag. |
GetComponent | Gets a reference to a component of type T on the same GameObject as the component specified. |
GetComponentInChildren | Gets a reference to a component of type T on the same GameObject as the component specified, or any child of the GameObject. |
GetComponentInParent | Gets a reference to a component of type T on the same GameObject as the component specified, or any parent of the GameObject. |
GetComponents | Gets references to all components of type T on the same GameObject as the component specified. |
GetComponentsInChildren | Gets references to all components of type T on the same GameObject as the component specified, and any child of the GameObject. |
GetComponentsInParent | Gets references to all components of type T on the same GameObject as the component specified, and any parent of the GameObject. |
SendMessage | ゲームオブジェクトにアタッチされているすべての MonoBehaviour にある methodName と名付けたメソッドを呼び出します |
SendMessageUpwards | ゲームオブジェクトと親(の親、さらに親 ... )にアタッチされているすべての MonoBehaviour にある methodName と名付けたメソッドを呼び出します |
TryGetComponent | Gets the component of the specified type, if it exists. |
GetInstanceID | Gets the instance ID of the object. |
ToString | Returns the name of the object. |
Destroy | Removes a GameObject, component or asset. |
DestroyImmediate | Destroys the object obj immediately. You are strongly recommended to use Destroy instead. |
DontDestroyOnLoad | Do not destroy the target Object when loading a new Scene. |
FindAnyObjectByType | Retrieves any active loaded object of Type type. |
FindFirstObjectByType | Retrieves the first active loaded object of Type type. |
FindObjectsByType | Retrieves a list of all loaded objects of Type type. |
Instantiate | original のオブジェクトをクローンします |
bool | オブジェクトが存在するかどうか |
operator != | 二つのオブジェクトが異なるオブジェクトを参照しているか比較します |
operator == | 2つのオブジェクト参照が同じオブジェクトを参照しているか比較します。 |