You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将独立Git仓库的库作为子模块接入Unity项目并支持本地修改

整合独立Git类库到Unity并支持实时修改的方案

我来给你几个实用的方案,完美解决你这个既要整合独立Git类库又能实时修改的需求——毕竟Unity自动生成.sln和.csproj的特性确实挺让人头疼的:

方案一:Git子模块 + Unity Assembly Definition(推荐)

这个方案既能保持类库的独立Git仓库,又能让Unity直接识别类库代码,支持实时修改和编译:

  1. 添加Git子模块
    在你的Unity项目根目录打开终端,执行以下命令,把独立类库作为子模块添加到Unity项目的Assets目录下(放在Assets下更方便Unity识别):

    git submodule add <你的类库Git仓库地址> Assets/ExternalLibraries/YourLibrary
    

    这样你的Unity项目会保留对类库仓库的引用,类库代码会同步到指定路径,同时你依然可以在类库目录里提交/拉取独立的Git变更。

  2. 创建Assembly Definition文件

    • 打开Unity编辑器,找到刚才添加的类库文件夹,右键选择 Create > Assembly Definition。
    • 给这个.asmdef文件命名(比如YourLibrary),在Inspector面板里设置适用的平台(比如Editor、Standalone等),确保不要勾选"Override References",除非你有特殊的引用需求。
    • 找到你Unity项目中游戏代码的.asmdef文件(如果没有就创建一个),在它的Inspector面板的"References"列表里,添加刚才创建的YourLibrary asmdef。

    这样Unity自动生成的.sln和.csproj会自动包含这个类库的代码,你修改类库代码后,Unity会自动重新编译,完全不用手动处理项目文件。

  3. 克隆项目的注意事项
    如果其他人克隆你的Unity项目,需要执行以下命令来拉取子模块的代码:

    git clone --recursive <你的Unity项目Git地址>
    # 或者如果已经克隆了项目,执行:
    git submodule update --init --recursive
    

方案二:符号链接 + Assembly Definition(本地类库适用)

如果你的类库是本地的,不想用Git子模块,可以用符号链接把类库目录映射到Unity项目里:

  1. 创建符号链接

    • Windows:打开命令提示符(管理员权限),执行:
      mklink /D "D:/Path/To/Unity/Project/Assets/ExternalLibraries/YourLibrary" "D:/Path/To/Your/Independent/Library"
      
    • Mac/Linux:打开终端,执行:
      ln -s "/Path/To/Your/Independent/Library" "/Path/To/Unity/Project/Assets/ExternalLibraries/YourLibrary"
      
  2. 添加Assembly Definition文件
    和方案一的步骤2完全一致,创建asmdef并引用,Unity就会识别符号链接里的类库代码,修改类库本地文件后,Unity会实时同步编译。

备选方案:自动编译DLL到Plugins文件夹

如果你确实需要用DLL的方式(比如类库有特殊编译需求),可以设置自动编译脚本,把类库编译后的DLL自动复制到Unity的Plugins文件夹:

  1. 设置类库编译输出路径
    在类库的.csproj文件里,设置OutputPath为Unity项目的Plugins文件夹:

    <PropertyGroup>
      <OutputPath>../UnityProject/Assets/Plugins/</OutputPath>
    </PropertyGroup>
    
  2. 添加自动编译脚本
    可以写一个简单的批处理(Windows)或Shell脚本(Mac/Linux),每次修改类库后执行编译:

    # Mac/Linux
    msbuild YourLibrary.csproj /t:Build /p:Configuration=Release
    
    :: Windows
    msbuild YourLibrary.csproj /t:Build /p:Configuration=Release
    

    也可以在IDE(比如VS)里设置编译后事件,自动复制DLL到Plugins文件夹。


内容的提问来源于stack exchange,提问作者Raphael Schmitz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 06:54:27