[Unity 3d] 支持Unity版本选择的文件夹右键菜单

Unity 版本越来越多,几个大的版本之间工程还不能通用,是时候考虑升级一下之前的右键 “Open with Unity”了。

前言:

笔者先前有讲过怎么通过右键弹出菜单开启一个工程,笔者一直都在使用,这种方法确实非常方便了。
目前来看也解决了不停弹出 Unity或者 UnityHub 登录界面导致进不去Unity的问题,实现了不登录也能使用Unity (笔者写出来还是蛮怕 Unity 修复这个Bug的,毕竟强制登陆账号就是为了某种威慑力?PS:买了插件的账号千万别在破解版Unity登陆,更别在公司网络登陆,绝对精准封禁~)。
另外,如果经济允许,按需优先考虑购买正版授权,以保护自身权益!

痛点:

现在Unity 版本迭代太快,API 更新,Prefab系统更新,PackageManger等等原因,导致了工程不能通用。
尽管先前讲过的右键Unity 打开工程很好用,但为每一个版本整一个右键菜单,那这个菜单不是会多出一片“ Open with Unity 201x.x.x” 来,就像这样:


[Unity 3d] 支持Unity版本选择的文件夹右键菜单_第1张图片

这也太不科学了,体验也很差,是时候改善一下了!

升级:

想要解决这个痛点,那就把版本选择整合到二级菜单之中呗,效果就像这样:


[Unity 3d] 支持Unity版本选择的文件夹右键菜单_第2张图片

实现:

其实实现起来也不是什么麻烦事儿,笔者这就教你。

  1. 文件夹右键要生成菜单,只需要在 [HKEY_CLASSES_ROOT\Folder\shell]’ 中加入你的项,然后简单配置一下图标,显示名称,以及子命令名称即可。
Windows Registry Editor Version 5.00

;这个是一级菜单,就是你看到的 "Open with Unity" 字样
[HKEY_CLASSES_ROOT\Folder\shell\UnityHubPlus]
;图标,看个人喜好可以不设置
"icon"="C:\\Program Files (x86)\\Ruanmei\\PCMaster\\winmaster.exe,3"
;菜单名称,如果不指定将显示路径名:UnityHubPlus
"MUIVerb"="Open with Unity" 
;子命令:这里对应着二级菜单成员的项目名称(本例中项目名称(路径末端命名))
"SubCommands"="Unity2017;Unity2018;|;Unity2019" 
  1. 想要做二级菜单中的项,只需要在[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell]中加入你的项,然后简单的配置一下图标、显示名称、以及命令即可。
;这个是二级菜单中的一个成员
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Unity2019]
"icon"="D:\\Program Files\\Unity3D2017.3.1f1\\Unity\\Editor\\Unity.exe"
"muiverb"="2019.1.0f2" 

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Unity2019\command]
;这个是对应版本Unity的路径,务必指定
@="\"D:\\Program Files\\Unity3D2019.1.0f2\\Editor\\Unity.exe\" -projectPath \"%1\"" 
  1. 重复第二步操作,将其他 Unity 版本加入进来。
  2. 将第三步加入的各个项的名称,写入到第一步的 SubCommands 的值中,使用英文字符的分号分隔,如果想要分隔符,只需要插入这个符号(|)即可。
;子命令:这里对应着二级菜单成员的项目名称(本例中项目名称(路径末端命名))
"SubCommands"="Unity2017;Unity2018;|;Unity2019" 

示例:

下面是本例中的完整 Reg 数据,如果你想使用,需要修改一下这些Unity安装路径哈!

Windows Registry Editor Version 5.00
;这个是一级菜单,就是你看到的 "Open with Unity" 字样
[HKEY_CLASSES_ROOT\Folder\shell\UnityHubPlus]
;这个是设置二级菜单前的图标,看个人喜好可以不设置的
"icon"="C:\\Program Files (x86)\\Ruanmei\\PCMaster\\winmaster.exe,3"
;指定菜单上显示的名称,如果不指定,将显示路径名:UnityHubPlus
"MUIVerb"="Open with Unity" 
;这里对应着二级菜单成员的项目名称(本例中项目名称(路径末端命名))
"SubCommands"="Unity2017;Unity2018;|;Unity2019" 

;这个是二级菜单中的一个成员
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Unity2019]
"icon"="D:\\Program Files\\Unity3D2017.3.1f1\\Unity\\Editor\\Unity.exe"
"muiverb"="2019.1.0f2" 

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Unity2019\command]
;这个是对应版本Unity的路径,务必指定
@="\"D:\\Program Files\\Unity3D2019.1.0f2\\Editor\\Unity.exe\" -projectPath \"%1\"" 


;这个是二级菜单中的第二个成员
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Unity2018]
"icon"="D:\\Program Files\\Unity3D2017.3.1f1\\Unity\\Editor\\Unity.exe"
"MUIVerb"="2018.2.16f1 "

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Unity2018\command]
@="\"D:\\Program Files\\Unity3D2018.2.16f1\\Editor\\Unity.exe\" -projectPath \"%1\""

;这是二级菜单的第三个成员
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Unity2017]
"icon"="D:\\Program Files\\Unity3D2017.3.1f1\\Unity\\Editor\\Unity.exe" 
"MUIVerb"="2017.3.1f1 "

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Unity2017\command]
@="\"D:\\Program Files\\Unity3D2017.3.1f1\\Unity\\Editor\\Unity.exe\" -projectPath \"%1\""

扩展阅读:

  • Unity3D 一键设置文件夹右键菜单打开Unity工程 -
  • Unity3D 怎么使用git bash 打开Unity工程 -

结语:

  • 可以做成的 App 哦,有谁做了记得分享一下!
  • 转载请注明出处,谢谢!

你可能感兴趣的:([Unity 3d] 支持Unity版本选择的文件夹右键菜单)