工欲善其事,必先利其器
在使用Unity开发游戏的过程中经常需要同时启动两个甚至多个Unity客户端来进行测试或调试,最简单的做法自然是checkout两份工程。
但会遇到一些问题:
- 每次开第二个工程Unity就会先报错,然后让你选择工程,虽说无关痛痒,但次数多了也容易让人烦躁:
- 任务栏上的Unity图标很容易忘记哪个对应哪个工程
- 用VS进行debug的时候不知道应该挂到哪个进程上,这是最烦的
当然这些令人不爽的问题都是可以解决的,下面是我的做法:
Unity启动参数projectPath
创建两个Untiy的快捷方式,”目标”一栏填写不同的启动参数projectPath,用不同的快捷方式启动不同的工程,如此避免开第二个Unity就要选择工程的问题
D:\Unity\Editor\Unity.exe -projectPath "G:_splus_develop" D:\Unity\Editor\Unity.exe -projectPath "G:_splus_develop"

善用任务栏
按照下面的操作,将创建好的两个快捷方式锁定到任务栏,这样左边的永远是第一个工程,右边的永远是第二个工程,任务栏上的Unity图标很容易忘记哪个对应哪个工程的问题也解决了。

当然你需要把任务栏按钮改为“从不合并”:

最终效果:

Different Project Names
最重要的,给两个相同的工程取不同的文件夹名字,就可以在debug的时候很方便的区分了:

效果:

同步
改了一个工程的代码,需要同步到第二个工程好一起测试,但自测OK前又不能提交svn并更新到第二个工程,怎么办?笨办法,写个批处理本地拷贝过去,:
xcopy 01_develop\Assets\Scripts\*.cs 02_develop\Assets\Scripts /E /y /exclude:uncopy.txt pause
不想拷贝的文件就把文件名写到uncopy.txt里。