MonoBehaviour
La clase base de casi todos los scripts de Unity, la que convierte una clase de C# en un componente de un objeto de juego.
El nombre viene de Mono, la implementación abierta de .NET sobre la que Unity construyó su soporte de C#; la ortografía británica, de las raíces danesas de la empresa. Nunca se crea con new: se añade a un GameObject y el motor llama a Awake, Start, Update, FixedUpdate y LateUpdate en un orden fijo en cada vuelta del bucle de juego.
Esos métodos no son virtuales. Unity los busca por nombre al cargar el script, así que un Updat mal escrito compila sin quejarse y no hace nada. La clase también aporta StartCoroutine, con el que toda una generación de programadores de juegos escribió esperas con yield mucho antes de que async fuera lo normal. Miles de objetos con su propio Update salen caros, y esa es más o menos la mitad de la razón de ser de DOTS.