Unity 同项目多开
unity编译器正常情况下没法完成多开,解决方案是使用一个ParrelSync,或者使用以下bat脚本也可以达到相似的目录,原理实质上创建两个项目,让其中一个项目的 Packages,Asserts,ProjectSettings的引用指向原来的项目,两个项目实质上指向同样的资源,即可达到同步,多开的目的。创建一个名字叫 copy_unity_project.bat 的文件,并将以下内容添加到文本中,复制到存放unity项目的根目录,双击运行即可,判断是否是unity项目的方式是判断是否同时存在上面三个需要目录链接的目录,以下代码C老师生成
@echo off
setlocal enabledelayedexpansion:: 切换到批处理文件所在的目录
cd /d "%~dp0":: 检查是否以管理员身份运行
openfiles >nul 2>&1
if %errorlevel% neq 0 (echo Please run this script as administrator.pauseexit /b
):: 列出当前目录下的所有Unity项目
echo Listing Unity projects in current directory:
set count=0
for /d %%i in (*) do (if exist "%%i\Packages" if exist "%%i\Assets" if exist "%%i\ProjectSettings" (set /a count+=1echo !count!. %%iset "project_!count!=%%i")
):: 如果没有找到Unity项目
if %count%==0 (echo No Unity projects found in the current directory.pauseexit /b
):: 选择项目
set /p project_number=Select the project number you want to clone:if not defined project_%project_number% (echo Invalid selection.pauseexit /b
)set "selected_project=!project_%project_number%!"
echo Selected project: !selected_project!:: 检查并创建副本目录
set copy_suffix=_cp_
set copy_number=1:check_folder
set "new_folder=%selected_project%%copy_suffix%!copy_number!"
if exist "!new_folder!" (set /a copy_number+=1goto check_folder
)echo Creating project clone in: !new_folder!
mkdir "!new_folder!":: 创建符号链接
mklink /J "!new_folder!\Packages" "%cd%\!selected_project!\Packages"
mklink /J "!new_folder!\Assets" "%cd%\!selected_project!\Assets"
mklink /J "!new_folder!\ProjectSettings" "%cd%\!selected_project!\ProjectSettings":: 提示符号链接创建成功
echo Base project clone created successfully in: !new_folder!
echo.:: 询问是否要添加更多目录链接
set /p add_more=Do you want to add more directory links to the clone? (y/n): if /I "%add_more%"=="y" (call :add_links
)goto finished:add_links
set /p additional_dir=Enter the name of the additional directory to link (or type 'done' to finish):
if /I "%additional_dir%"=="done" (goto finished
):: 检查目标目录是否存在
if not exist "%cd%\!selected_project!\!additional_dir!" (echo Directory does not exist: !additional_dir!goto add_links
):: 创建符号链接
mklink /J "!new_folder!\!additional_dir!" "%cd%\!selected_project!\!additional_dir!"
if %errorlevel% neq 0 (echo Failed to create junction, access denied. Please ensure you have proper permissions.goto add_links
)echo Linked: !new_folder!\!additional_dir! -> !selected_project!\!additional_dir!goto add_links:finished
echo Clone creation complete.
pause