Definiciones breves de los términos que aparecen en la documentación. Todo enlazado entre sí.
Sistema para cargar y liberar assets bajo demanda por una 'dirección', esté en la build o en un servidor. Reduce memoria y tamaño de build y permite DLC. Usa conteo de referencias: cada carga necesita su Release.
Método del ciclo de vida que se ejecuta una vez, al cargarse el objeto, antes que cualquier Start. Ideal para inicializar referencias internas (GetComponent).
Componente para mover personajes 3D con control preciso. No es física real: choca con paredes y sube escalones (Step Offset) y pendientes (Slope Limit) solos, pero la gravedad la aplicas tú en código con Move.
Componente que define la forma física de un objeto para detectar colisiones. Marcado como 'Is Trigger' no frena el movimiento, solo notifica solapamientos (OnTriggerEnter). Sin Rigidbody se considera estático.
Pieza de comportamiento o datos que se adjunta a un GameObject (Rigidbody, SpriteRenderer, tus scripts...). Unity se basa en composición: compones un objeto pegando componentes.
Método especial (devuelve IEnumerator) que puede pausar su ejecución con 'yield' y reanudarla más tarde, repartiendo trabajo a lo largo de varios fotogramas sin bloquear el juego.
Segundos transcurridos desde el fotograma anterior (Time.deltaTime). Multiplicar por él el movimiento en Update lo hace independiente de los FPS. En FixedUpdate equivale al paso fijo de física.
Función que elimina un GameObject o un Component en tiempo de ejecución. El objeto no se destruye al instante, sino al final del fotograma actual. Guardar una referencia a algo destruido es causa típica de errores.
Método llamado a intervalos fijos de tiempo (por defecto 0,02 s), independiente de los FPS. Es donde debe ir toda la lógica de física con Rigidbody.
La unidad básica de una escena de Unity. Por sí mismo es un contenedor vacío con un Transform; su comportamiento y apariencia vienen de los Componentes que se le añaden.
Backend de scripting que convierte el C# a C++ y lo compila a código nativo. Obligatorio en iOS y usado en móvil (con arquitectura ARM64). Más rápido en ejecución y más lento de compilar que Mono.
Panel del editor que muestra y permite editar los componentes y propiedades del objeto seleccionado. Es donde se asignan las referencias expuestas con SerializeField o campos públicos.
Función que crea en tiempo de ejecución una copia de un GameObject o Prefab. Su uso intensivo (balas, partículas) conviene sustituirlo por object pooling.
Método del ciclo de vida llamado cada fotograma después de que todos los Update hayan terminado. Ideal para cámaras que deben seguir a un objeto ya movido en Update.
Level of Detail: sistema que muestra versiones con menos polígonos de un modelo según se aleja de la cámara, mediante un LOD Group. Ahorra rendimiento donde el detalle no se aprecia.
La malla de un objeto 3D: una superficie de triángulos definida por vértices, normales (cómo le da la luz) y UVs (cómo se mapea la textura). Unity la dibuja con Mesh Filter (la guarda) + Mesh Renderer (la pinta).
Clase base de la que heredan los scripts que se adjuntan a GameObjects. Da acceso al ciclo de vida (Awake, Start, Update...) y a las utilidades del motor. No se instancia con 'new': lo hace Unity.
Técnica que evita dibujar objetos tapados por otros dentro del campo de visión (una sala tras una pared). Hay que hornearla marcando los objetos como Static. Distinta del frustum culling, que descarta lo que queda fuera de cámara y es automático.
Plantilla reutilizable de un GameObject guardada como asset. Permite crear muchas copias (Instantiate) y actualizar todas editando el prefab original.
Forma en que Unity representa las rotaciones (cuatro componentes x, y, z, w) para evitar el bloqueo de ejes (gimbal lock). No se editan a mano: se usan helpers como Quaternion.Euler o Quaternion.LookRotation.
Componente que somete un objeto al motor de física (PhysX en 3D). Con él, el objeto se mueve mediante fuerzas y velocidades, no modificando el Transform a mano.
Contenedor de datos que vive como asset, independiente de la escena y de los GameObjects. Ideal para configuración (armas, enemigos) y como base de arquitecturas dirigidas por datos.
Uso de un ScriptableObject como asset compartido para configuración o eventos, inyectado por el Inspector. Reduce el acoplamiento frente a los Singletons.
Atributo que expone un campo privado en el Inspector sin hacerlo público. Es la forma recomendada de asignar referencias y ajustes desde el editor manteniendo la encapsulación.
Material que envuelve la escena como un cielo. Además de decorar, suele ser la fuente de la luz de ambiente, tiñendo las sombras de forma coherente. Puede ser procedural, cubemap o HDRI.
Cinco principios de diseño (responsabilidad única, abierto/cerrado, sustitución de Liskov, segregación de interfaces e inversión de dependencias) para escribir código que crece sin volverse un nudo.
Imagen 2D que se dibuja en la escena mediante un Sprite Renderer. Su escala la define el Pixels Per Unit, y su orden de dibujado los Sorting Layers y el Order in Layer, no la posición Z.
Método del ciclo de vida que se ejecuta una vez, justo antes del primer Update, solo si el objeto está activo. Para preparar el estado inicial que depende de otros objetos.
Sistema para crear exteriores 3D grandes: se esculpe el relieve (un heightmap por debajo), se pintan texturas por capas y se siembran árboles y hierba. Trae su propio collider.
Estándar de texto en Unity. Usa fuentes SDF para verse nítido a cualquier tamaño y admite texto enriquecido (rich text). El componente TextMeshProUGUI es el que va dentro de un Canvas.
Sistema para construir niveles 2D pintando tiles sobre una rejilla (Grid). Con Tilemap Collider 2D + Composite Collider 2D obtiene las colisiones del nivel de forma eficiente.
Componente presente en todo GameObject que guarda su posición, rotación y escala, y define la jerarquía padre-hijo.
Evento que se conecta desde el Inspector arrastrando objetos y eligiendo métodos, sin código. Es lo que usan los botones de UI (On Click). Más flexible pero más lento que un event de C#.
Método llamado una vez por fotograma. Su frecuencia depende de los FPS, por eso el movimiento debe multiplicarse por Time.deltaTime. No usar para física.
Estructura de tres números (x, y, z) que representa posiciones, direcciones o escalas en 3D. Al ser un struct se copia por valor. Base de casi toda la matemática de movimiento en Unity.