MonoBehaviour
ほぼすべてのUnityスクリプトの基底クラス。C#のクラスをゲームオブジェクトのコンポーネントに変える存在。
名前の由来は、UnityがC#対応の土台にしたオープンソースの.NETランタイム、Monoである。綴りがイギリス式なのは、同社がデンマーク発祥だからだ。newで生成することはなく、GameObjectに追加すると、エンジンがゲームループの1周ごとにAwake、Start、Update、FixedUpdate、LateUpdateを決まった順で呼び出す。
これらのメソッドは仮想メソッドではない。Unityはスクリプトの読み込み時に名前で探し出すため、Updatと綴りを間違えてもコンパイルは通り、黙って何も起きない。またStartCoroutineを備えており、asyncが普及するずっと前から、世代のゲームプログラマーにyieldで待機処理を書く作法を教えた。数千のオブジェクトがそれぞれUpdateを持てば負荷は大きくなる。DOTSが生まれた理由の、およそ半分はそこにある。