本指南将向您展示如何通过 Package Manager 窗口或编辑项目的 manifest,直接从 Git 仓库在 Unity 中安装软件包,以及如何固定版本、从子文件夹安装、访问私有仓库和解决常见错误。我们以 Edgegap 的 Unity 软件包为例;这些步骤适用于托管在 Git 上的任何软件包。
Edgegap 在专用服务器上托管多人游戏。一旦您的游戏服务器容器化,Edgegap 只需通过一个简单的 API 调用即可将其(按需)部署到全球 615+ 个边缘云节点,并完全按用量计费:无需在比赛之间租用、配置或维持整台服务器运行。对于保留容量的持久服务器,Edgegap 提供了专用队列 (Private Fleets)。Edgegap 的對局配對构建在此基础之上,并且是可选的。
想要托管整个 Unity 游戏?请参阅 Unity Engine 了解从专用服务器构建到撮合匹配的完整路径。
1. 开始之前:安装 Git
Unity 的 Package Manager 本身并不下载 Git 软件包:它会运行安装在计算机上的 Git 客户端。
PATH 中需要有 Git 2.14.0 或更高版本。macOS 通常已自带该工具(Xcode Command Line Tools)。在 Windows 上,请安装 Git 并保留安装程序的默认选项,以便将 Git 添加到 PATH 中。
安装 Git 后重启 Unity 和 Unity Hub,以便它们识别新的 PATH。
Git LFS,仅当软件包使用 Git LFS 存储大文件时才需要。如果没有 LFS 客户端,Unity 会检出微小的指针文件而非实际资源,且不会报错。
任何较新的 Unity 版本。以下步骤使用的是 Unity 6.3 LTS。
检查是否生效:打开一个新的终端并运行 git --version。
2. 在包管理器中通过 Git URL 安装包
在 Unity 中,打开 Window → Package Manager(在较新的 Unity 6 版本中为 Window → Package Management → Package Manager)。
选择左上角的 +,然后选择 Install package from git URL(在较旧版本中称为 Add package from git URL)。
粘贴以
.git结尾的仓库 URL。对于 Edgegap 插件:https://github.com/edgegap/edgegap-unity-plugin.git选择 Install。
几秒钟后,该包将显示在列表中,并带有 Git 标签。如果失败,可在 Unity 控制台(Console)中查看原因。
3. 或者通过编辑 manifest.json 进行安装
项目使用的每个包都会列在 Packages/manifest.json 中。在此处添加 Git URL 与使用 Package Manager 的效果相同,并且便于通过版本控制共享或让编码智能体(agent)来执行。
打开 Packages/manifest.json 并在 dependencies 下添加一行,以包名作为键(key),Git URL 作为值(value):
"com.edgegap.unity-sdk": "https://github.com/edgegap/edgegap-unity-sdk.git#3.5.5",
保存文件并返回 Unity:系统便会安装该包。
配合您的智能体使用:
“通过 Packages/manifest.json 中的 Git URL 将 Edgegap Unity SDK 3.5.5 添加到该项目中。”
Git URL 只能添加到项目的 manifest.json 中,绝不能添加到包本身的 package.json 中。
4. 固定版本、更新或从子文件夹安装
固定版本:在 URL 中添加
#以及标签、分支或完整的 commit 哈希,例如https://github.com/edgegap/edgegap-unity-sdk.git#3.5.5。短 commit 哈希不起作用。如果不添加#,你将获得默认分支的最新 commit。锁定:Unity 会记录其安装的确切 commit,以便你的团队成员获得相同的版本。分支名称本身不会自动向前移动更新。
更新:从 + → 从 git URL 安装软件包 (Install package from git URL) 重新安装相同的 URL,或者将
#标签更改为较新的版本。子文件夹:如果软件包不在代码仓库的根目录下,请在任何
#之前添加?path=以及包含其package.json的文件夹:https://github.com/owner/repo.git?path=/MyPackage#v1.2.3。顺序相反将导致失败。私有仓库:Unity 无法提示输入密码。对于 HTTPS,请先设置 Git 凭据助手 (credential helper)。对于 SSH (
git@github.com:owner/repo.git),请在 Unity 外部设置你的 SSH 密钥;受密码短语保护的密钥只能通过 ssh-agent 等代理生效。
5. Edgegap 的 Unity 资源包
Edgegap 适用于 Unity 的自动化游戏服务器构建工具插件:通过 Unity 编辑器中的按钮构建您的 Linux 服务器、将其容器化并部署到云端。URL:
https://github.com/edgegap/edgegap-unity-plugin.git。在 Tools → Edgegap Server Hosting 下打开它。Edgegap Unity SDK:您的游戏在运行时使用的匹配客户端和服务器代码。URL:
https://github.com/edgegap/edgegap-unity-sdk.git#3.5.5。浏览器 (WebGL) 构建需要 3.5.5 或更高版本。
正在使用 Mirror?最近的 Mirror 版本已经包含了 Edgegap 插件(Assets/Mirror/Hosting/Edgegap)。切勿再次从 Git 安装,否则 Unity 会报告脚本重复。
6. 下一步:添加匹配机制
安装 Edgegap SDK 后,您的游戏可以对玩家进行分组,并在他们附近自动启动专用服务器。有关设置,请参阅 Unity 對局配對 SDK;或参阅 Unity Engine,从您的专用服务器版本开始。
7. 检查安装
在 Package Manager 中,选择 In Project:该包已列出,并带有 Git 标签及其版本或提交。
Unity 控制台未显示任何 Package Manager 错误。
对于 Edgegap 的插件,通过 Tools → Edgegap Server Hosting 可打开插件窗口。
遇到困难?在 Edgegap Discord 上向我们的团队和其他工作室寻求帮助。
常见问题
关于通过 Git URL 安装 Unity Package 的常见问题。
如何在 Unity 中解决“未找到 ‘git’ 可执行文件”(No 'git' executable was found)的问题?
安装 Git 2.14.0 或更高版本并确保它已添加到您的 PATH 环境变量中,然后重启 Unity 和 Unity Hub。在 Windows 上,Git 安装程序的默认选项会将其添加到您的 PATH。在新的终端中运行 git --version 进行检查。
如何从 Git 安装特定版本的 Unity 软件包?
在 Git URL 末尾添加 # 以及标签、分支或完整的提交哈希,例如 https://github.com/edgegap/edgegap-unity-sdk.git#3.5.5。如果不添加,Unity 将安装默认分支的最新提交。
如何更新通过 Git 安装的 Unity 资源包?
从 Package Manager 的 + 菜单再次安装相同的 Git URL,或者在 Packages/manifest.json 中更改 # 后面的版本。Unity 会锁定其安装的提交,因此它不会自行更新。
Unity 可以从私有 Git 仓库安装 Package 包吗?
是的。Unity 无法请求密码,因此在安装之前,请针对 HTTPS 设置 Git 凭据助手,或针对 SSH URL 设置 SSH 密钥。受密码保护的 SSH 密钥需要像 ssh-agent 这样的代理。
为什么在安装 Edgegap 插件后会出现重复脚本错误?
您的项目已包含该插件,这通常是因为最近的 Mirror 版本将其包含在 Assets/Mirror/Hosting/Edgegap 下。请删除其中一份:保留 Mirror 的版本,或者删除该文件夹并使用 Git 软件包。

客户
了解更多已接入 Edgegap 的客户案例
提供 31 个从其他平台迁移至 Edgegap 的工作室案例研究。

《以太之战 2》完美的全球发布
Aether Studios
了解Aether Studios是如何快速添加Edgegap并向他们的社区交付完美的启动和后启动服务的。
Case Study

克服因虚拟现实在竞技Multiplay中使用WiFi而引入的延迟
Halfbrick Studios
Discover how Halfbrick successfully launched & maintains a multiplayer-focused Early Access on META Quest's VR platform.
Case Study

MENA的社交应用添加了在线游戏
WOLF
了解这款在中东和北非地区广受欢迎的社交应用如何轻松地将 matchmaking 和多人游戏编排添加到 WOLF Qanawat。
Case Study

混合编排让开球策略随时应对任何流量做好准备
Birch Games
混合编排如何帮助 Birch Games 应对流量——将免流出费用的 Fleets 与无区域限制云相结合。
Case Study

7天血月
The Fun Pimps & iLLOGIKA
了解 Illogika 如何大幅降低服务器成本,并确保提供《七日杀 (7 Days to Die)》玩家所期望的在线体验。
Case Study

真实的在线战争需要终极的协调
Highwire Games
了解Highwire对性能的需求如何需要只有Edgegap才能提供的编排。
Case Study

22,000 条评价、4.8 颗星以及自动扩展的基础架构
Sinn Studios
一个由 Slack 提供支持的简单集成,如何让 Sinn Studio 的热门 VR 游戏快速上线并保持稳定运行。
Case Study

动态服务器编排
Under NDA - AAA Studio
了解世界上最大的AAA工作室之一如何通过边缘计算改善其对等多人游戏体验。
Case Study

对于 AAA 格斗游戏的近零延迟
AAA Studio - Under NDA
一个未宣布的项目如何实现了最低延迟,并改善了其1v1游戏中的公平性。
Case Study

Play Gods with Multiplayer Physics
Squido Studio
Learn how Squido uses Edgegap's highligh optimized game servers to deliver mind-bending & chaotic VR gameplay.
Case Study

全面托管的解决方案为独立游戏节省时间 多人VR恐怖游戏
Dirty Pearl Studios
了解Dirty Pearl Studios如何通过Edgegap的轻松集成和自动编排,以及其Nakama集成,节省了开发时间。
Case Study

即时全球服务器部署以促进协作式XR医学教育
AlensiaXR
AlensiaXR如何利用Edgegap为全球医学生提供低延迟、始终可用的共享解剖课程。
Case Study

守光人:具有专用服务器的 VR 社交合作游戏
Spectral Games
Spectral Games 如何在无需任何服务器经验的情况下,利用 Edgegap Matchmaking 和 Server Browser 为其 VR 社交大厅启动专用服务器。
Case Study

全球范围内快速可靠的部署,适用于PvPvE挑战者Gravebound
Crater Studios
Edgegap 的调度和配对如何帮助 Crater Studios 使他们能够将重心从基础设施转移到游戏玩法上。
Case Study

快速扩展网络元宇宙
Hiber
了解Hiber如何通过Edgegap消除服务器容量规划中的猜测。
Case Study

高硬件要求和自定义游戏服务器池
Alderon Games
了解Alderon Games如何瞬间利用全球多个供应商的自定义游戏服务器池来支持其热门MMO。
Case Study

独立开发者的简单集成
WhaleFood Games
阅读关于WhaleFood Games如何使用Edgegap解决其网络代码问题的文章。
Case Study

推动东南亚首款电子竞技游戏的尖端技术。
Anantarupa Studios
了解Edgegap如何通过一个无缝解决方案简化复杂基础设施和尖端技术,从而改变东南亚的游戏格局。
Case Study

一次打击。全球抵达。
Triple Hill Interactive
Triple Hill Interactive如何利用Edgegap的编排来提供低延迟,并提高在每毫秒都至关重要的游戏类型中的公平性。
Case Study

快节奏团队大逃杀...带着枪的动物毛绒玩具!
SANDYFLOOR
了解一家韩国独立工作室是如何将其多人游戏发布到全球的。
Case Study

移动端赛马游戏凭借即时、高效能的服务器走向全球
Mirai Labs
看 Mirai Labs 如何通过即时服务器部署和细分 vCPU 来运行 Pegaxy Blaze 的全球多人竞速游戏,从而将单个玩家的成本保持在极低水平。
Case Study

服务器管理与分发
Matrioshka Games
阅读关于Matrioshka Games如何在资源有限的情况下发布早期访问的战斗 Royale。
Case Study

听我的信号,释放地狱!
TyGames
探索独立工作室TyGames如何让玩家沉浸在第三人称角斗士战斗的多人游戏中。
Case Study

瞬时全球编排
Soliton Interactive
探索Soliton Interactive如何做到了不可能……首次推出可多人玩的版本!
Case Study

竞技游戏具有服务器端物理引擎,确保理想的低于50毫秒的延迟
NS7
了解为什么仅有Edgegap能够使独立工作室通过服务器端物理和权限实现其AAA质量的免费游戏体育玩法愿景。
Case Study

iGaming的区域部署
X1 Contra 1
X1 Contra 1 通过经济高效的托管和区域部署,为其巴西玩家提供实时 PvP 休闲游戏,确保数据和法律合规。
Case Study

仅在玩家游玩时付费:经济实惠的多人游戏基础设施
Meltdown Interactive
Edgegap 如何帮助独立开发商 Meltdown Interactive Media 在无需复杂方案的情况下,以高性价比解决扩缩容和匹配问题,从而让他们能够专注于游戏开发。
Case Study

同一个 Edgegap 平台,三种截然不同的网络配置
Warped Games
了解 Warped Games 如何在同一个 Edgegap 部署 API 和同一个容器管线上运行社交中心、实时合作以及回合制合作。
Case Study

台球大师巡回赛Max
RETA Games
Case Study

韩国的Web3 POP提取射击游戏走向全球,即刻启程
NDUS Entertainment
XOCIETY 如何轻松地添加 Edgegap 编排并集成自定义 matchmaking,与 Edgegap Ping Beacons 一起优化延迟。
Case Study

Multiplayer in Every Dimension
Arcadia.tv
Discover how Arcadia.tv uses Edgegap's edge network to deliver an innovative, team and location-based athletic VR sport.
Case Study

F2P 移动格斗游戏利用即时(Just-In-Time)服务器降低基础设施成本
Game Changers Worldwide
Game Changer Worldwide 如何在全球移动端托管 Rumble Rush 的实时 3v3 PvP 游戏。
Case Study
他们选择 Edgegap 的关键原因
了解 Edgegap 自动化游戏服务器编排如何带来无缝的多人游戏体验。









