当前位置: 首页 > article >正文

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.
    pause
    exit /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+=1
        echo !count!. %%i
        set "project_!count!=%%i"
    )
)

:: 如果没有找到Unity项目
if %count%==0 (
    echo No Unity projects found in the current directory.
    pause
    exit /b
)

:: 选择项目
set /p project_number=Select the project number you want to clone:

if not defined project_%project_number% (
    echo Invalid selection.
    pause
    exit /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+=1
    goto 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


http://www.kler.cn/news/359541.html

相关文章:

  • 数智合同 | 业财一体与履约联动的数字化转型
  • RabbitMQ系列学习笔记(七)--RabbitMQ交换机
  • 【数据结构与算法】插入排序、希尔排序
  • 2024年软件设计师中级(软考中级)详细笔记【6】(下午题)试题6 Java 23种设计模式解题技巧(分值15)
  • 前端自动化测试框架Jest
  • 数据结构与算法--返回袋子数
  • Spring-Bean的实例化和依赖注入方式
  • Spring Boot 2.7=>3.0 升级整理
  • 【进阶OpenCV】 (12)--人脸检测识别
  • 基于SpringBoot+Vue的旅游服务平台【提供源码+答辩PPT+参考文档+项目部署】
  • 智能优化算法-生物地理学算法(BBO)(附源码)
  • 学习ROS系列 python语言
  • 起吊机革新:协议转换器解锁安全与效率
  • 提示词高级阶段学习day2.1-在提示词编写中对{}的使用教程
  • Python机器学习中的主成分分析(PCA)全面解析与应用
  • 深度学习 自动求梯度
  • kubernetes(k8s)面试之2024
  • Spring Boot:中小型医院网站开发新趋势
  • react18中如何实现同步的setState来实现所见即所得的效果
  • 【C语言】文件操作(2)(文件缓冲区和随机读取函数)