跳到主要内容

SymlinkUtility

重要 注意 提醒

Coding Style wiki


SymlinkUtility 提供在项目中创建文件夹符号链接的菜单工具,可将项目外部的共享文件夹Junction / 绝对 Symlink / 相对 Symlink 链接进项目使用 (例如共享美术资源、跨项目共享模块),并于 Project 窗口对符号链接文件夹显示 <=> 标记 (修改自 karl-/unity-symlink-utility)。

命名空间OxGKit.Utilities.Symlink.Editor
类型public static class SymlinkUtility
源码SymlinkUtility.cs

Project 窗口 Right-Click (或 Assets 菜单) 操作,会打开文件夹选择窗口选取来源文件夹,并于当前选取的文件夹 (未选取时为 Assets) 之下创建链接:

菜单说明
Assets/Create/Folder (Junction)创建 Junction 链接 (仅 Windows,不需管理员权限)。
Assets/Create/Folder (Absolute Symlink)创建绝对路径符号链接。
Assets/Create/Folder (Relative Symlink)创建相对路径符号链接。

注意 Windows 上创建 Symlink (Absolute / Relative) 需要管理员权限 (会弹出 UAC 提示),Junction 则不需要;macOS 通过 ln -s 创建。

通用规则

限制条件

  • 来源文件夹不可位于本项目内 (Application.dataPath 之下),否则会输出警告并中止。
  • 目标位置已存在同名文件夹时会中止链接。
  • 创建完成后会自动 AssetDatabase.Refresh
  • Project 窗口中,符号链接 (含 Junction) 的文件夹右侧会显示 <=> 标记,方便辨识。

提醒 符号链接文件夹内的资源会被 Unity 视为项目内资源导入;团队协作时,请确保成员本机皆有对应的来源文件夹,并留意版本控制 (VCS) 对符号链接的处理方式。