Elytra
Blog2026

Unity 渲染管线全解:从 BRP 到 SRP,再到 URP、HDRP 与 Unified Rendering

Built-in、SRP、LWRP、URP、HDRP 各自是什么、解决了什么问题、代价在哪里;2026 年渲染战略与 Unified Rendering 的真实含义;以及不同管线之间如何迁移、迁移要花多少成本。

随笔

新建 Unity 项目时,第一个让人犹豫的选择往往不是脚本语言,而是渲染管线。

Built-in 还是 URP?要不要 HDRP?Asset Store 上的材质能不能直接用?项目做到一半再换管线,会不会等于重做一半美术?

这些问题背后,其实是 Unity 过去八年里一条清晰的技术脉络:先用 SRP 把渲染从 C++ 黑盒里拆出来,再分出 URPHDRP 两条成品路线,最后在 2026 年宣布向 URP 集中、并逐步推进 Unified Rendering。若你想把这段历史放在更大的公司语境里理解,可参阅 Unity 的二十年 第四节与第八节;本文则专注渲染管线本身。

资料范围

本文资料整理截至 2026 年 9 月 21 日。版本号、弃用时间表与路线图以 Unity 官方文档与公告为准;文中对迁移成本、工程取舍的分析属于作者判断,不代表对某个项目最优方案的保证。

先分清名字:它们不在同一层

Unity 渲染相关缩写很多,最容易混淆的是把「架构」和「具体管线」混为一谈。

名称全称 / 常见叫法层级一句话定位
BRPBuilt-in Render Pipeline,也常写作 BIRP具体管线Unity 传统的内置渲染路径,黑盒较重、可定制性有限
SRPScriptable Render Pipeline架构用 C# 脚本组织渲染命令的薄 API 层;URP、HDRP、自定义管线都建在它上面
LWRPLightweight Render Pipeline历史名称URP 的前身,2018 预览、2019 更名演进为 URP,不应再当作独立长期路线
URPUniversal Render Pipeline具体管线基于 SRP,强调跨平台、可扩展、移动与主机都能跑
HDRPHigh Definition Render Pipeline具体管线基于 SRP,面向高端 PC 与主机的高保真画面
Unified Rendering统一渲染(官方路线图用语)方向不是某天突然合并成一条叫「Unified RP」的新管线,而是底层系统、工作流与功能的渐进收敛

可以用一张简图理解层级关系:

传统路径 SRP 架构 2018 起并存;6.5 起弃用流程 Built-in RP (BRP) SRP URP HDRP 自定义 Render Pipeline

SRP 与 URP/HDRP 不在同一层:前者回答「渲染流程能不能用脚本重写」,后者回答「Unity 官方替你写好了哪两套成品方案」。

BRP 时代:够用,但越来越难「改」

在 2018 年之前,绝大多数 Unity 项目默认使用 Built-in Render Pipeline(内置渲染管线)。它是一套通用方案:剔除、绘制、后处理按固定流程走,对中小体量游戏来说往往够用,教程和 Asset Store 资源也大多围绕它积累。

但随着平台分化——移动端的 tile-based GPU、主机的异步计算与光追、VR 对帧率的苛刻要求——「一套固定管线覆盖所有目标」越来越难。官方文档也承认:内置管线是通用路径,可定制选项有限;若要在内置管线上做深度定制,需要购买 Unity 引擎 C++ 源码 访问权限,而不是改几段项目脚本就能搞定。12

对技术美术和图形程序员来说,痛点可以概括为:

  1. 黑盒:渲染逻辑主要在引擎 C++ 里,调试和扩展成本高。
  2. 平台优化难:很难为某一类硬件单独裁剪整条渲染路径。
  3. 与现代 GPU 特性脱节:多线程提交、Render Graph、更细粒度的 Pass 编排,在固定管线里很难优雅落地。

BRP 并没有「做错」,而是 承担了整个生态的默认选项,却越来越难同时满足「手游要省电」和「主机要电影级画面」这两类相反诉求。

SRP 的出现:把渲染从黑盒里搬出来

Unity 2018.1 以 Preview 形式引入 Scriptable Render Pipeline(SRP)。官方当时的表述很直白:把现代 GPU 的能力交给开发者和技术美术,而不必消化数百万行 C++ 引擎代码;通过 C# 与材质 Shader 定制渲染流程,在不必手写完整 C++ 渲染器的前提下获得更大控制权。3

SRP 在引擎里的位置,官方手册概括为:

  • 一层 薄的 C# API,用脚本调度和配置渲染命令;
  • 通过 ScriptableRenderContext 与底层图形架构通信;
  • 每个 SRP 项目需要 Render Pipeline Asset(配置数据)和 Render Pipeline Instance(继承 RenderPipeline、实现 Render() 的实例)。4

也就是说,渲染从「引擎内部固定流程」变成了「可替换、可 fork、可扩展的模块」。Unity 把 SRP 相关包放到 Package Manager,与 Entities / Job System 等一起,代表 Unity 2018 周期「核心可编程化」的方向。3

SRP 解决了什么

问题SRP 的回应
深度定制必须碰 C++主要用 C# 组织 Pass;URP/HDRP 源码在 GitHub 公开
平台差异大可为不同项目选择不同管线实现,而不是全员共用一条内置路径
批处理与现代化 API后续统一的 SRP BatcherRender GraphGPU Resident Drawer 等都建立在 SRP 之上
工具链统一Shader GraphVFX Graph 以 SRP 为现代主战场(Built-in 侧 Shader Graph 仅维护性更新)2

SRP 带来的新代价

架构更开放,并不意味着项目更简单:

  • Shader 不通用:每条 SRP 管线有自己的着色模型与内置 Shader 库;换管线往往意味着换材质。
  • 插件分裂:Asset Store、教程、团队经验都要标明「适用于哪条管线」。
  • 学习曲线:要理解 Render Pipeline Asset、Renderer Feature、Volume、Render Graph 等一整套新概念。

SRP 解决的是 引擎侧的可扩展性与现代化;「该选哪条官方管线」则成了留给项目早期的新问题。

为什么要分出 URP 和 HDRP

2018.1 同时预览了两条 基于 SRP 的成品管线,名字后来有所调整:

  • Lightweight Render Pipeline(LWRP):单 Pass 前向、强调更少 Draw Call,优先移动、XR 与性能敏感场景。5
  • High Definition Render Pipeline(HDRP):面向 PC 与主机的高端画面,混合 Tile/Cluster 前向/延迟,功能向体积光、统一光照、多种灯光形状等方向扩展。6

2019.3 起,LWRP 更名并演进为 Universal Render Pipeline(URP)——「轻量」改名为「通用」,反映定位从「只做轻量」扩展到跨平台通用方案。7

分开的技术理由

官方在「如何选择管线」文档里给出的高层差异很清晰:2

维度URPHDRP
典型项目需要全平台扩展、2D/3D、可定制管线、TBDR 移动平台与独立 VR高端 PC/主机上的照片级、高保真 3D
平台覆盖 Unity 支持的全部平台;侧重 tile-based 与无绳 VR 效率桌面、Xbox、PlayStation;强调 async compute、光追等高端 GPU 能力
光照取向写实与风格化都照顾;较易做卡通等着色物理光照单位、高级 PBR、体积与屏幕空间效果;风格化定制相对更难
源码以 C# 为主,GitHub 公开以 C# 为主,GitHub 公开;复杂度高

功能对比表进一步说明:HDRP 不支持 Switch、iOS、Android、移动 VR、WebGL 等,而 URP 覆盖这些平台。8 让一条管线同时「跑遍 Switch」又「默认光追级 GI」,在工程上极不经济;分成两条成品管线,是 用产品边界换各自优化空间

好处

  1. 各取所需:手游团队不必为用不到的光追特性付构建与运行时成本;高端项目不必被最低端 GPU 限制特性上限。
  2. 公开源码与扩展点:相对 BRP,定制渲染 Pass、改管线逻辑的路径更清楚。
  3. 现代工具链:Shader Graph、VFX Graph、Volume 框架、SRP Batcher 等在 SRP 上持续投入。
  4. 性能模型更可控:例如 URP 的 Forward+、Deferred+、Render Graph,以及面向移动端的 on-tile 优化,都针对明确平台类别设计。9

代价

  1. 项目早期就要选型,且 URP 与 HDRP 不能在同一项目里同时使用——二者渲染路径与光照模型不同。2
  2. 生态碎片化:同一材质、后处理、插件往往要维护多份;教育内容与 Asset Store 默认资源长期偏向 BRP,迁移期尤其痛苦。
  3. 深入开发后再切换管线可能非常耗时;不同管线 Shader 不同,部分功能也无一一对应。2
  4. 团队知识分裂:HDRP 的 Volume、灯光单位、阴影预算与 URP 的工作流并不相同,招人、协作、外包都要标明管线经验。

常见误解

「URP 就是低配 HDRP」并不准确。URP 追求的是 跨品类、跨平台的可扩展基线;HDRP 追求的是 在有限平台集上的画质上限。二者共享 SRP 基础设施,但产品目标不同,功能表也不是简单的高/低两档开关。

Unified Rendering:为什么又要「统一」

约 2024–2025 年,Unity 曾以 Unified Rendering 描述长期愿景:对齐数据结构、创作工作流与执行框架,减少在 URP/HDRP 之间切换时的素材与 Shader 返工。10 社区里也有人把它简称为未来的「Unified RP」。

2026 年,官方公布了更具体的 Render Pipelines strategy for 2026,要点如下:9

  1. 主力投入 URP:性能、构建时间、稳定性、扩展性,以及动态 3D 光照(物理光单位、曝光、物理天空、实时 GI、SSR 等)向 URP 集中。
  2. HDRP 进入维护模式:不宣布弃用;以稳定性、回归修复和 Switch 2 等平台支持为主,不再规划大特性。
  3. Built-in 启动弃用流程:Unity 6.5 标记弃用;至少保留到 6.7 LTS(约 2028 年底,Enterprise/Industry 许可可延至 2029);不建议任何新项目使用 BRP

为什么要走收敛路线

分开 URP/HDRP 解决了「不同硬件目标」问题,却制造了 生态与认知上的分裂

  • 新手不知道该选哪条;教程与商店资源版本混乱。
  • Unity 自己要维护三套路径(BRP + URP + HDRP),图形团队无法把全部新特性押在单一默认方案上。
  • 过去三年发布的 Unity 游戏中,绝大多数已使用 URP;继续三分法对「默认体验」不利。9

官方在讨论帖里也解释:曾对「一次性大合并」有积极反馈,但 迁移成本与风险 同样真实;因此 2026 策略不是搞一场全员换管线的 disruptive migration,而是把已落地的底层统一(例如 6.3 起 HDRP 使用 URP 的 Render Graph 编译器)继续推进,让 HDRP 的经验 可选地 渗回 URP,而不是强迫 HDRP 项目立刻迁走。1110

Unified Rendering 实际指什么

截至本文整理时,更准确的表述是:

说法是否成立
明天发布一条叫 Unified RP 的新管线,替代 URP 和 HDRP;官方明确这是渐进过程10
URP 与 HDRP 已共享 Render Graph、Shader Graph、VFX Graph、SRP Batcher 等
物理光单位、预曝光等对齐后,场景在 URP/HDRP 间共享会更容易路线图方向
HDRP 被弃用、所有项目必须迁 URP;HDRP 维护存续,只是 net new 特性投入在 URP 9
BRP 将被移除,新项目应默认 URP是(方向);具体移除版本尚未最终确定 9

长期「单一管线」仍是 north star,但 统一的是地基与工作流,不是强迫所有项目同一天改 Renderer

不同管线之间如何转换,代价有多大

迁移没有免费午餐。代价取决于:源管线、项目深度、自定义 Shader/插件比例、目标平台与画质目标。下面按常见路径说明 方式典型成本

总原则

Unity 官方反复强调:2

  • 尽早选型;项目越深入,切换越像半重做。
  • URP 与 HDRP 不能共存于同一项目;不是改个下拉菜单就能 A/B 对比。
  • Shader 与部分渲染特性无自动一一映射;需要对照 功能对比表 逐项核对。8
Built-in (BRP) URP HDRP LWRP

BRP → URP(当前最主流的迁移)

方式:

  1. 安装 URP 包,在 GraphicsQuality 里指定 URP Asset。
  2. 使用 Render Pipeline ConverterWindow > Rendering > Render Pipeline Converter)批量转换:
    • 渲染设置(创建 URP Asset / Universal Renderer)
    • 内置材质升级(不支持自定义 Shader 的材质
    • 只读材质、动画片段、Post Processing Stack v2 等可选转换器
  3. 对自定义 Shader:按官方指南改写为 URP Shader 或 Shader Graph;可只对选中材质执行 Edit > Rendering > Materials > Convert Selected Materials to URP
  4. 检查光照衰减、阴影级联、后处理 Volume、相机堆叠等行为差异。

代价:

因素影响
标准材质 + 官方 ShaderConverter 可覆盖大部分,成本 低到中
大量自定义 Surface Shader / 内置 CG需逐个人工移植,成本
Post Processing Stack v2需转 URP Volume;Converter 可辅助,复杂项目仍要手调
第三方插件(仍依赖 BRP)可能无 URP 版本,成本 不确定,往往很高
项目阶段后期迁移官方描述为 可能非常耗时 2

Converter 会不可逆地修改项目;官方要求迁移前备份。12 也提供 BatchMode API,便于 CI 批量跑转换。12

LWRP → 现代 URP

LWRP 是历史名称,不是与 URP 并列的第三条线。官方升级说明写明:没有从 LWRP 直接升到 URP 12+ 的单跳路径,需 先升到 URP 11.x,再升到目标 URP 版本13

成本主要在 跨多个大版本的 API 变更(例如 Render Graph 取代旧自定义 Pass 写法、RTHandle 替代 RenderTargetHandle、Renderer Feature 生命周期调整等)。13

BRP → HDRP

官方 没有 像 BRP→URP 那样成熟的「一键 Converter 全家桶」。通常意味着:

  • 重建光照与 Volume 体系(物理光单位、曝光、阴影预算);
  • 材质与 Shader 几乎全部按 HDRP 规范重做;
  • 确认目标平台在 HDRP 支持列表内(无移动、无 Switch 一代等)。8

成本一般为 高到极高,更适合 预生产阶段 就确定走 HDRP 的 3A 向项目,而不是 BRP 中后期硬切。

HDRP ↔ URP

2026 策略 不要求 HDRP 项目迁 URP,但官方希望通过对齐物理光单位、Volume 天空、预曝光等,使 未来场景共享与 HDRP→URP 移植更简单11

今天已经能复用的(官方社区帖概述):Shader Graph 与 VFX Graph 在两条管线间 大多兼容;Render Graph 后端统一后,Custom Pass 与 Renderer Feature 接口也在靠拢。11

仍然昂贵的部分

  • 光照与后处理:HDRP 独有特性(如大量高级阴影、路径追踪相关、部分体积效果)在 URP 无直接等价项时需重新设计画面;
  • 平台:从 HDRP 迁 URP 常伴随 扩大平台覆盖;反向则要做 画质降级与特性裁剪
  • 性能基线:URP 在低端移动 GPU 上验证更多,但 未按 URP 架构优化的重度场景 仍可能感觉「变重」——这是移植方式问题,不是换管线自动变快。11

自定义 SRP / 深度改 URP 或 HDRP

若团队 fork 了管线源码或写了大量 ScriptableRendererFeature

  • Unity 6 的 URP 默认启用 Render Graph;旧式 Pass 写法进入兼容模式,且 不再积极开发非 Render Graph 路径13
  • 每次大版本升级可能要重写自定义 Pass,成本 持续发生,应计入技术债。

实用建议:现在该怎么选

结合 2026 战略,对 2026 年及以后新开项目 的默认建议可以压缩为:

你的情况建议
新项目,目标含移动 / 主机 / PC / XR,画面从 stylized 到中等写实URP(也是 Unity 官方明确的主线)
高端 PC/主机独占,追求 HDRP 特性表上的画质上限,且接受平台限制HDRP(接受维护模式:新特性主要在 URP)
老项目仍在 BRP,计划长期运营评估迁 URP 的窗口期;BRP 至少支持到 6.7 LTS,但生态会加速远离 BRP 9
想等「Unified RP」再开工不建议干等;当前动作是 选 URP + 关注底层统一带来的工具改进,而非等待一条未知发布日的新管线

一个工程视角

渲染管线选型,本质是在 「未来三年的平台与画面」「未来三个月的学习与迁移成本」 之间做交易。SRP 让交易的一部分变便宜了(C# 可编程、公开源码);URP/HDRP 分裂又让 选错线的代价 变贵了。2026 年的收敛,是想把默认答案重新变回 「大多数项目用 URP 就够了」,同时用多年时间消化历史分叉——而不是用一次大爆炸换统一名字。

收束

  • BRP:Unity 传统内置管线,简单默认,但难以深度定制,正进入弃用流程。
  • SRP:架构层突破,用 C# 调度渲染,解决黑盒与现代化问题。
  • LWRP → URP:同一条通用路线的演进名称,不是长期并列选项。
  • HDRP:高保真专用路线,与 URP 目标平台与画面取向不同。
  • Unified Rendering:共享 Render Graph、光照概念与工具链的 渐进统一;2026 年起 创新押在 URP,HDRP 维护但不弃用,BRP 不建议再用

若你正在评估迁移,优先做三件事:备份工程 → 用功能对比表列出依赖特性 → 用小场景试跑 Converter 或手工材质样本。管线没有绝对最优,只有与 平台、团队、档期和内容管线 是否匹配。Unity 用八年把渲染从一条内置路拆成可编程生态,再用接下来几年把默认路重新收拢到 URP——理解这段脉络,比记住缩写更有助于在下一次新建项目时少付一笔技术税。

注释

  1. Unity Manual,Introduction to render pipelines。说明 Built-in 定制性有限,SRP 可用 C# 检查与修改剔除、渲染与后处理。

  2. Unity Manual,Choose a render pipeline。支撑尽早选型、切换耗时、URP 与 HDRP 不可共存、各管线差异表等表述。 2 3 4 5 6 7

  3. Unity,2018,2018.1 is now available。2018.1 引入 SRP 预览、LWRP 与 HDRP 预览,以及「无需消化数百万行 C++」的官方表述。 2

  4. Unity Manual,Scriptable Render Pipeline fundamentals。说明 SRP 为薄 API 层、ScriptableRenderContext、Pipeline Asset/Instance 结构。

  5. 同上 3。LWRP 为单 Pass 前向、强调更少 Draw Call 与移动/XR 场景。

  6. 同上 3。HDRP 面向高端 PC/主机、混合 Tile/Cluster 渲染路径与高级光照特性。

  7. Unity Discussions,Lightweight Render Pipeline is Evolving!。LWRP 更名并演进为 URP 的官方说明。

  8. Unity Manual,Render pipeline feature comparison。三管线功能与平台支持对照。 2 3

  9. Unity,2026,Render Pipelines strategy for 2026。URP 主力、HDRP 维护、Built-in 6.5 弃用与 6.7 LTS 支持期等 2026 战略。 2 3 4 5 6

  10. Unity Discussions,Unified Rendering feature list。说明 Unified Rendering 为渐进统一而非一夜合并,以及 HDRP 采用 URP Render Graph 等工程进展。 2 3

  11. Unity Discussions,Render Pipelines strategy for 2026。官方回复中关于避免一次性大迁移、Render Graph 统一、HDRP/URP 素材共享与 Shader Graph 兼容性的补充说明。 2 3 4

  12. Unity Manual,Convert assets using the Render Pipeline Converter。Converter 类型、限制(自定义 Shader 材质不自动转换)、不可逆变更与 BatchMode API。 2

  13. Unity Manual,Upgrade to URP 17 (Unity 6.0)。LWRP 须经 URP 11.x 中转、Render Graph 默认启用与自定义 Pass 迁移要求。 2 3

On this page