GitHub for Unity 项目构建指南
Unity GitHub for Unity 项目地址: https://gitcode.com/gh_mirrors/uni/Unity
前言
GitHub for Unity 是一个深度集成到 Unity 编辑器中的版本控制工具,为开发者提供了便捷的 Git 操作体验。本文将详细介绍如何从源码构建该项目,帮助开发者理解其架构并能够进行本地开发和调试。
环境准备
Git LFS 支持
该项目使用了 Git LFS (Large File Storage) 来管理大文件,因此在克隆仓库前,请确保:
- 已安装 Git 2.x 版本
- 已安装 Git LFS 2.x 扩展
- 客户端支持子模块(submodule)功能
构建工具要求
Windows 平台
- 编译工具:Visual Studio 2015 或更高版本
- 备选方案:Mono 4.x + bash shell (如 git bash)
- 注意:Mono 5.x 版本不兼容
- Unity DLL 文件:
UnityEngine.dll
和UnityEditor.dll
- 默认安装路径下会自动引用
- 非默认路径需手动复制到
lib
目录
macOS 平台
- 编译工具:Mono 4.x
- 可通过 Homebrew 安装:
brew tap shana/mono && brew install mono@4.8
- 注意:Mono 5.x 版本不兼容
- 可通过 Homebrew 安装:
- Unity DLL 文件:
- 要求与 Windows 平台相同
项目构建步骤
1. 克隆仓库
使用支持 Git LFS 的客户端克隆项目,或执行以下命令:
git lfs clone 项目仓库地址
注意:可能会收到关于
script
子模块的警告,这是正常现象,可忽略或执行git submodule deinit script
消除警告。
2. 准备 Unity DLL
确保构建系统能找到 Unity 的核心 DLL:
- 检查 Unity 是否安装在默认路径
- 如非默认安装,需手动复制以下文件到
lib
目录:UnityEngine.dll
UnityEditor.dll
文件通常位于 Unity 安装目录的 Editor/Data/Managed
子目录下。
3. OAuth 应用配置
项目使用 OAuth 流程与 API 交互,提供了开发者测试用的凭证:
- 测试凭证位于
src/GitHub.Api/Application/ApplicationInfo.cs
- 重要:这些凭证仅用于测试,不要用于生产环境
如需自定义配置:
- 注册新的开发者应用
- 复制
common/ApplicationInfo_Local.cs-example
为common/ApplicationInfo_Local.cs
- 填写你的 clientId 和 clientSecret
构建方式
Visual Studio 构建
- 打开
GitHub.Unity.sln
解决方案文件 - 在构建菜单中选择"生成解决方案"
Mono + Bash 构建
- 确保 Mono 4.x 已加入 PATH 环境变量
- 在 bash shell 中执行
build.sh
脚本
构建输出说明
首次构建完成后:
-
src/UnityExtension
目录可作为 Unity 项目直接打开- 包含所有 Unity 专用代码
- 支持快速测试和原型开发
-
自动创建测试项目
GitHubExtension
- 位于仓库同级目录的
github-unity-test
文件夹 - 每次构建会自动更新所需 DLL
- 提供干净的测试环境
- 位于仓库同级目录的
注意:如果构建时 Unity 项目处于打开状态,某些文件可能被锁定,这属于正常现象。
项目结构解析
解决方案 GitHub.Unity.sln
包含多个关键项目:
- packaging:空项目,包含将 DLL 复制到测试位置的构建规则
- Tests:单元测试和集成测试项目
- GitHub.Logging:日志辅助库
- GitHub.Api:扩展核心功能
- 使用 C#6 特性
- 包含 async/await 等 Unity 不直接支持的功能
- GitHub.Unity:Unity 专用代码
- 可被 Unity 直接编译
常见问题解答
Q:为什么必须使用 Mono 4.x? A:项目依赖特定的编译器特性,Mono 5.x 的变更导致不兼容。
Q:构建时报错缺少 Unity DLL 怎么办? A:检查 Unity 安装路径是否正确,或手动复制 DLL 到 lib
目录。
Q:测试项目没有自动创建怎么办? A:检查构建日志是否有错误,或尝试手动创建 github-unity-test
目录后重新构建。
通过本文的详细指导,开发者应该能够顺利构建 GitHub for Unity 项目,并理解其核心架构。这对于进行二次开发或问题排查都有重要帮助。
Unity GitHub for Unity 项目地址: https://gitcode.com/gh_mirrors/uni/Unity
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考