type
Post
status
Published
date
Mar 6, 2026
slug
summary
tags
虚幻
category
学习笔记
comment
Show
icon
password
虚幻引擎的重定向引用器介绍和注意事项
什么是重定向引用器 (Redirector)?
虚幻引擎中,当移动或重命名资产时,系统在原物理位置生成的隐藏占位文件(1KB的
.uasset)。它相当于一个“转发指针”,确保其他引用了原路径的资产,能通过旧地址找到移动后的新资产。在虚幻引擎中,资产之间是极其紧密耦合的(比如你的UI引用了蓝图,蓝图引用了图标)。
假设你把图标从 A 文件夹移动到了 B 文件夹,或者重命名了它。
- 如果引擎立刻去修改所有引用: 引擎需要遍历你整个项目,把所有引用过这个图标的蓝图、材质、UI 全部打开、修改路径、重新保存。这会让你只是挪动一个图片,电脑就卡死很久。
- 虚幻的做法: 引擎把真正的图标移到了 B 文件夹,但在 A 文件夹的原地,留下了一个只有 1KB 大小的隐藏假文件(这就是重定向器)。
- 当你的 UI 再去 A 文件夹找图标时,会撞上这个重定向器。重定向器告诉 UI:“它搬家了,去 B 文件夹找吧!”
为什么要“更新”重定向器?
因为重定向器只是一种临时的“创可贴”,绝不能长期留在项目中。
右键点击文件夹选择 “更新重定向引用器”,引擎会在后台强制扫描项目中所有引用了旧地址的资产,将其内部链接直接重写为真实的最新物理路径。一旦所有引用更新完毕,引擎会自动删除这些隐藏的重定向器文件,释放无用节点。
为什么不更新会影响版本控制?
- 物理文件与引擎显示的认知错位(幽灵文件): 重定向器在引擎默认隐藏,但在操作系统硬盘和版本控制中真实存在。开发者常在操作系统中直接删除看似“空”的旧文件夹,误删隐藏的重定向器。队友同步后,所有旧引用瞬间断链报错。
- 命名空间碰撞: 旧位置依然被隐藏的重定向器文件占用。若团队成员在旧路径下创建了同名的新资产,版本控制系统在合并或提交时会爆发严重的物理同名文件冲突(File Conflict)。
- 提交碎片化与遗漏: 移动资产在版本控制中表现为三个动作:“删除旧文件、添加新文件、新增重定向器”。若不执行“更新”,极易在 Commit 时漏提重定向器文件,导致队友拉取代(Pull)后整个项目的依赖树断裂,游戏大面积报红。
如何预防重定向引用器导致的问题?
- 移动/重命名后,立刻修复: 只要你移动了文件、重命名了文件、或者删除了文件,养成肌肉记忆 -> 右键点击你刚才操作的那个文件夹(或者直接右键顶层的内容文件夹),点击 “更新重定向引用器”。
- 检测重定向引用器: 在虚幻资源浏览器(Content Browser)的左侧漏斗图标(Filter)里,搜索 "Redirector" (重定向引用器) 并勾选。 这样你就能在文件夹里看到那些长得像小箭头的 1KB 假文件了。提交版本前,看一眼有没有遗留的重定向器。
- 提交版本前的终极检查: 在使用 Git/SVN 提交(Commit)之前,永远在 Content 根目录执行一次全局的 Fix Up,然后再保存所有文件 (Save All),最后再提交。
- 作者:LiQingBa
- 链接:https://blog.liqingba.com/article/31aa69f5-f1f3-8053-bbf7-e01fa6095207
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
