La transición del legado a la arquitectura Scriptable Render Pipeline (SRP)
La arquitectura SRP redefine el control del renderizado en Unity, abandonando el pipeline fijo para permitir una optimización granular mediante C# y HLSL.
Análisis profundo de la arquitectura SRP en Unity. Comparativa técnica de Forward+ vs. Clustered Lighting para Technical Artists Senior.

Resumen Ejecutivo // AEO_Protocol
"La elección entre URP y HDRP no es estética, sino arquitectónica: URP es un pipeline multipropósito basado en Forward+ que prioriza el fill-rate y el ancho de banda, ideal para plataformas móviles y VR. HDRP es un pipeline basado en Clustered Deferred/Forward con un enfoque en fidelidad física extrema y computación pesada en GPU."
Intención Estratégica: El Fin del Built-in Render Pipeline
Desde una perspectiva de ingeniería de motores de videojuegos, el antiguo Built-in Render Pipeline (BiRP) de Unity representaba una 'caja negra' inflexible. El código de renderizado estaba profundamente integrado en el núcleo C++ del motor, lo que impedía a los estudios de VFX y Technical Artists modificar el comportamiento del frustum culling, el orden de las pasadas de renderizado o la gestión de la memoria de texturas. La introducción del Scriptable Render Pipeline (SRP) marca un cambio de paradigma: el control del bucle de renderizado se expone a la capa de C#, permitiendo que el desarrollador defina exactamente cómo se procesa cada frame a través del 'ScriptableRenderContext'.
En el ecosistema actual de desarrollo de alto nivel, el 'Bottom Line' es la eficiencia del CPU-to-GPU dispatch. URP y HDRP utilizan el SRP Batcher, una tecnología crítica que reduce radicalmente el overhead de las llamadas de dibujado (Draw Calls). A diferencia del instanciamiento tradicional, el SRP Batcher no busca reducir la cantidad de draws, sino acelerar la configuración del estado de la GPU entre ellos. Esto se logra manteniendo los datos de los materiales en la memoria de la GPU (Persistent CBuffers) y solo actualizando los datos de transformación por objeto. Como Technical Directors, entendemos que la elección entre URP y HDRP debe basarse en el perfil de hardware objetivo y la complejidad computacional de los shaders requeridos.
Es imperativo comprender que URP no es 'Unity Lite'. Es un pipeline diseñado para maximizar el throughput en hardware con limitaciones de ancho de banda de memoria (Memory Bandwidth), como los chipsets Tile-Based Deferred Rendering (TBDR) de los dispositivos móviles. Por el contrario, HDRP está diseñado para GPUs de escritorio que pueden manejar miles de millones de operaciones de punto flotante por segundo (TFLOPS) y poseen hardware dedicado para Ray Tracing (RT Cores). En el Instituto Cardan, tratamos esta decisión como un problema de optimización de recursos antes que una decisión artística.

Lógica de Algoritmo: Forward+ en URP vs. Clustered en HDRP
El corazón técnico de URP ha evolucionado hacia el renderizado Forward+. Tradicionalmente, el renderizado Forward sufría de una complejidad O(L*P) —donde L es el número de luces y P el número de píxeles—, lo que limitaba severamente la cantidad de fuentes de luz por objeto. URP Forward+ mitiga esto dividiendo la pantalla en 'tiles' (celdas) y realizando un pre-pase de profundidad (Z-Prepass) para calcular qué luces afectan a qué fragmentos. Esto permite manejar cientos de luces por frame en hardware móvil moderno sin incurrir en el costo de ancho de banda masivo que supone el Deferred Shading, el cual requiere múltiples Render Targets (G-Buffers) de alta precisión.
HDRP, por su parte, implementa una arquitectura de Clustered Shading. A diferencia de los tiles 2D, el Clustered Shading divide el frustum de la cámara en celdas 3D (voxels de frustum). Esto es fundamental para escenas con gran profundidad y densidades de luz variables, ya que permite un culling de luces mucho más preciso en el eje Z. HDRP utiliza intensivamente Compute Shaders para procesar estas estructuras de datos de luz, lo que garantiza que el costo de iluminación sea proporcional solo a la densidad de luz visible y no a la complejidad geométrica total de la escena. Esta es la razón por la que HDRP es el estándar para entornos fotorrealistas con iluminación volumétrica compleja.
Otro componente algorítmico vital es la gestión de los buffers de color. URP está optimizado para trabajar en LDR (Low Dynamic Range) o HDR simplificado, minimizando la precisión de los buffers para ahorrar energía en dispositivos móviles. HDRP utiliza internamente buffers de 16 bits o 32 bits por canal (FP16/FP32), lo que permite cálculos de exposición física real (EV), Bloom de alta calidad y una respuesta de color lineal sin artefactos de banding. Para un Technical Artist, esto significa que el Shader Graph de HDRP ofrece nodos de interpolación y muestreo que simplemente no son viables en URP debido al costo de ciclos de reloj de la GPU.
Anatomía del Pipeline: Node Architecture y Render Graph
La arquitectura de nodos en SRP se manifiesta principalmente a través del Render Graph API. En las versiones más recientes de Unity, tanto URP como HDRP están migrando hacia este sistema para gestionar las dependencias de los recursos. El Render Graph actúa como un compilador de pasadas de renderizado: analiza todas las texturas temporales y buffers necesarios, optimiza su tiempo de vida en la VRAM y elimina automáticamente las pasadas que no contribuyen al frame final. Esto es esencial para evitar el 'Texture Churn' y asegurar que la memoria de la GPU se utilice de manera óptima.
Desde la perspectiva del Technical Artist, la anatomía de HDRP incluye el 'Volume System'. Este no es solo un conjunto de post-procesos, sino una infraestructura jerárquica basada en el peso (weights) y la prioridad, que permite redefinir las leyes físicas del renderizado (niebla, exposición, balance de blancos) basándose en la posición de la cámara en el espacio 3D. En URP, el sistema de volúmenes es una versión simplificada, centrada en el performance, que carece de la capacidad de interpolación de perfiles de alta densidad que encontramos en producciones AAA.
La integración de Compute Shaders es otro diferenciador anatómico. Mientras que URP permite el uso de Compute Shaders, su integración no es nativa en muchas de sus pasadas de post-procesamiento estándar para asegurar compatibilidad con OpenGL ES 3.0 o Metal simple. HDRP, por el contrario, está construido sobre Compute Shaders desde su base. Elementos como los Screen Space Reflections (SSR), la Iluminación Global (SSGI) y el procesamiento de nubes volumétricas dependen enteramente de la capacidad de la GPU para realizar cálculos paralelos asíncronos (Async Compute), una característica que HDRP explota para superponer tareas de renderizado y cómputo.

[ Métrica de Rendimiento Crítica ]
El uso del SRP Batcher es obligatorio. Si un shader personalizado utiliza 'MaterialPropertyBlock', romperá el batching. La arquitectura moderna exige el uso de 'CBUFFER_START(UnityPerMaterial)' en HLSL para garantizar la compatibilidad con el pipeline de datos persistentes de SRP.
Performance Metrics: El Límite de la Memoria y el Fill-Rate
En el análisis de métricas de rendimiento, el Technical Artist senior debe monitorizar el 'G-Buffer Pressure' en HDRP. Un G-Buffer típico en HDRP puede contener múltiples texturas de alta resolución (Albedo, Normal, Roughness/Specular, Motion Vectors, Depth), lo que consume una cantidad significativa de VRAM y ancho de banda durante el pase de geometría. En hardware de gama media, esto puede causar un cuello de botella antes incluso de que se procesen las luces. Por esta razón, HDRP implementa técnicas de 'Depth Pre-pass' para reducir el overdraw, asegurando que solo los píxeles visibles ejecuten los fragment shaders más costosos.
URP brilla en métricas de latencia de GPU en dispositivos móviles. Al evitar el G-Buffer masivo, reduce las transferencias entre la memoria local del chip y la memoria del sistema. La métrica 'Overdraw' es el enemigo número uno en URP; debido a que muchas aplicaciones URP son para VR (Meta Quest 2/3), el renderizado debe ocurrir dos veces (una por ojo). Aquí, el uso de 'Single Pass Instanced Rendering' es vital: la GPU dibuja cada objeto una vez e instancia la geometría para el segundo ojo, reduciendo las llamadas de sistema a la mitad. HDRP también soporta VR, pero su overhead base hace que alcanzar los 72Hz o 90Hz sea un desafío de ingeniería extremo que requiere el uso de DLSS o FSR de manera mandatoria.
Finalmente, la densidad de vértices. HDRP maneja mallas de alta densidad mediante Teselación y Mesh Shaders (en hardware compatible), permitiendo niveles de detalle (LOD) casi imperceptibles. URP prefiere geometrías más optimizadas, delegando el detalle al normal mapping. En nuestras pruebas de estrés en Instituto Cardan, hemos observado que HDRP puede mantener una estabilidad de frame con 10 millones de polígonos visibles si se gestiona correctamente el culling, mientras que URP empieza a sufrir cuellos de botella en el Vertex Assembler mucho antes, especialmente en plataformas móviles.
// Estructura de un Constant Buffer compatible con SRP Batcher en HLSL
CBUFFER_START(UnityPerMaterial)
float4 _BaseColor;
float4 _MainTex_ST;
float _Glossiness;
float _Metallic;
CBUFFER_END
// En HDRP/URP, no uses MaterialPropertyBlock para propiedades que no cambian por frame.
// El SRP Batcher optimiza el envío de estos datos a la GPU.Cardan Edge: Errores Críticos y el 'Amateur Pitfall'
El error más común que observamos en la industria es la elección de HDRP basándose únicamente en la estética. HDRP no hace que un juego 'se vea mejor' por arte de magia; impone un flujo de trabajo de autoría de assets estrictamente basado en leyes físicas (Physically Based Rendering - PBR). Un material mal calibrado en HDRP se verá peor que uno en URP debido a cómo el sistema de iluminación global rebota la luz. Si tu equipo no tiene un Technical Artist capaz de calibrar 'Diffusion Profiles' para la piel o configurar correctamente el 'Sky and Fog Volume', HDRP se convertirá en un lastre de performance sin beneficio visual.
Otro error técnico es la falta de comprensión del 'Shader Variant Stripping'. SRP permite crear shaders extremadamente complejos, pero esto genera miles de variantes (keywords). Si no se gestionan mediante el 'IPreprocessShaders' API, los tiempos de compilación y el tamaño de la build final explotarán. En el Instituto Cardan, enfatizamos que la optimización de un pipeline no ocurre al final del proyecto, sino en la fase de arquitectura de los shaders base. No usar 'Light Layers' en HDRP para segmentar qué luces afectan a qué objetos es una señal clara de una dirección técnica amateur.
Por último, subestimar URP. Muchos desarrolladores creen que para tener Ray Tracing necesitan HDRP. Sin embargo, con el advenimiento de soluciones personalizadas y plugins de terceros, es posible implementar trazado de rayos básico o Screen Space GI en URP para proyectos específicos que requieren un equilibrio entre performance móvil y fidelidad visual. La rigidez mental es el mayor enemigo del Technical Director.
Análisis de Alternativas: Unity SRP vs. Unreal Engine & Custom Engines
Al comparar HDRP con Unreal Engine 5 (Lumen/Nanite), HDRP ofrece un control mucho más granular sobre el pipeline de renderizado mediante C#. Mientras que Unreal es una potencia 'out-of-the-box', modificar su núcleo de renderizado requiere conocimientos profundos de C++ y recompilar el motor. HDRP permite a estudios medianos crear soluciones de renderizado personalizadas (Custom Pass) sin salir del ecosistema de C#. Sin embargo, Unreal sigue liderando en la gestión masiva de datos geométricos gracias a Nanite, algo que Unity intenta mitigar con su sistema de Entities (ECS) y el paquete BatchRendererGroup.
En comparación con motores propietarios basados en Vulkan o DirectX 12, URP destaca por su abstracción de la API. Escribir un pipeline Forward+ desde cero en C++ requiere meses de ingeniería para gestionar las barreras de memoria y los estados de los descriptores. URP entrega esa potencia de forma 'scriptable', lo que acelera el tiempo de mercado (Time-to-Market). La desventaja es que siempre habrá un pequeño overhead de la capa de abstracción de Unity, algo que para juegos competitivos de e-sports de ultra-bajo nivel de latencia podría ser un factor decisivo para optar por un motor propio.
Veredicto Técnico
La directiva final de la Dirección Técnica del Instituto Cardan es clara: Utilice URP para cualquier proyecto que requiera despliegue multiplataforma (Móvil, Switch, VR, WebGL) o donde el presupuesto de GPU sea limitado. La eficiencia del Forward+ y el bajo costo de entrada lo hacen invencible en términos de ROI. Utilice HDRP única y exclusivamente si su hardware objetivo es PS5, Xbox Series X o PC con GPUs de serie 3000/4000, y si su proyecto exige simulaciones físicas de luz, materiales de múltiples capas o Ray Tracing nativo. No hay término medio; intentar forzar HDRP en plataformas de gama media es una receta para el fracaso técnico.