版本控制 | 如何将UnrealGameSync与Perforce Helix Core结合使用

为了帮助虚幻引擎4和虚幻引擎5的开发,Epic公司开发了UnrealGameSync,使其与版本控制工具Perforce Helix Core交互。虽然UnrealGameSync除了P4V (Helix Core客户端)之外还有许多功能,但主要用途是分发内部引擎和项目构建,它极大地简化了向团队分发虚幻编辑器的方式,帮助所有员工高效工作。阅读本篇文章,您能了解到什么是UnrealGameSync,它的用处及优势,以及如何设置使用。
龙智作为DevSecOps研发安全运营一体化解决方案供应商、Perforce授权合作伙伴,持续关注版本控制领域动态与发展,为您提供最新洞察与最佳实践参考,帮助游戏开发团队更好地进行资产管理,加强协作,提升效率。立即联系我们,了解游戏开发的最佳实践与案例。

什么是UnrealGameSync?

UnrealGameSync (UGS) 是一个开发者工具,它可以使开发人员的工作区与虚幻项目流同步。它提供了一个图形化的前端,能够从Perforce Helix Core同步虚幻引擎4/虚幻引擎5项目。

UnrealGameSync有什么用?

由于项目会及时更新,UnrealGameSync让开发人员可以在同一项目上进行工作,促进协作开发环境中的代码和内容集成。

安装UnrealGameSync后,您就可以轻松地对虚幻引擎项目进行引导和迭代,而不需要承担使用同步工具带来的额外成本。

通过使用UnrealGameSync,您可以:

  • 同步项目文件;
  • 解决合并冲突;
  • 使用同步编辑器编辑二进制文件;
  • 更新版本文件;
  • 生成项目文件;
  • 构建虚幻引擎4/虚幻引擎5;
  • 运行虚幻项目。

UnrealGameSync的优势

使用UnrealGameSync有很多好处,其中包括:

  • 能够在提交变更列表后立即同步到变更列表;
  • 为每个修改添加注释,将构建标记为好或坏;
  • 提供有关目前正在进行的破损构建的修复通知;
  • 安全地从本地构建进行内容更改,而无需提交未经版本管理的资产;
  • 如果您无权访问Visual Studio ,则可以访问项目的压缩编辑器的构建。

如何设置和安装UnrealGameSync

下面将介绍如何设置和安装UnrealGameSync。

1. 下载并安装Wix

安装完成后,系统会提示您在Visual Studio中安装其他依赖项。在第一次运行解决方案文件时,请允许更新和安装这些依赖项,以便进一步构建项目。

* 注意:使用适当的Visual Studio版本很重要。

2. 下载虚幻引擎源代码

为了能够访问这些文件,您需要将您的Epic帐户与您的Github帐户相关联。或者,如果您有许可,则可以从Epic的公共Perforce Helix Core许可服务器中获取。

3. 将虚幻引擎源文件添加到一个新的主线流中

请将此工作区设置为AllWrite,以避免构建问题。

* 注意:如果您使用的是Windows系统,请确保您的工作区根路径少于50个字符,或者您的注册表中已经启用了长文件路径长度。

4. 运行Setup.bat来安装依赖项

* 注意:安装Visual Studio依赖项所需的时间可能会有所不同,这取决于虚幻引擎或UnrealGameSync是否已经在机器上构建过。

5.运行GenerateProjectFiles.bat

6.打开\Engine\Source\Programs\UnrealGameSync\UnrealGameSync.sln

您应该会收到在VS Code (ASP.NET) 中安装额外扩展的提示。

额外扩展安装完成后,运行UnrealGameSync的构建:Release – Any CPU – UnrealGameSync。这将创建一个构建:

				
					\Engine\Source\Programs\UnrealGameSync\bin\Release\netcoreapp3.1
				
			

其中:

				
					\Engine\Source\Programs\UnrealGameSync\Installer
				
			

您可以运行Build.bat来创建UGS的安装程序。这将创建一个msi安装程序,您可以在本地安装:

				
					
\Engine\Source\Programs\UnrealGameSync\Installer\bin\Release
				
			

7. p4ignore和类型映射

您的p4ignore可以遵循与标准的虚幻项目相同的格式。

此外,您的p4类型映射应如下所示(请将//depot自定义为//<您的流depot的名称>,例如//UE5:

				
					
Typemap:
binary+S2w //depot/....exe
binary+S2w //depot/....dll
binary+S2w //depot/....lib
binary+S2w //depot/....app
binary+S2w //depot/....dylib
binary+S2w //depot/....stub
binary+S2w //depot/....ipa
binary //depot/....bmp
text //depot/....ini
text //depot/....config
text //depot/....cpp
text //depot/....h
text //depot/....c
text //depot/....cs
text //depot/....m
text //depot/....mm
text //depot/....py
binary+l //depot/....uasset
binary+l //depot/....umap
binary+l //depot/....upk
binary+l //depot/....udk
				
			

您可以使用p4映射-i < “filename.txt” 命令为您的客户端设置类型映射。

如何使用UnrealGameSync

当您在完成安装程序后运行UnrealGameSync时,它会首先询问您这些默认值:

  • 服务器
  • 用户名
  • 密码

然后,UnrealGameSync会接着询问您将要使用的虚幻项目文件的位置。

回答后,您将看到主游戏同步UI,其中列出了所有相关的变更列表。

如果尚未构建引擎,UnrealGameSync将同步签入存储库的预构建文件。通常情况下,UnrealGameSync会使用最后一个好的构建。但如果有需求,您也可以坚持同步到特定的更改列表。如果您这样做了,并且还没有构建与源代码匹配的引擎,那么只要符合先决条件,UnrealGameSync将尝试在启动编辑器之前从源代码自行构建引擎。

然而,为了充分利用您的UnrealGameSync设置,最好的做法是同时存储已完成的构建。如果你勾选“Use Unstable Build(使用不稳定构建)”,它会在里面寻找一个名为“Unstable”的文件夹。否则,它将寻找名为“Release”的文件夹。

* 注意:如果您是美术人员或设计师,您不会勾选“使用不稳定构建”。但是,如果您是开发人员并且正在处理问题,您可能需要勾选“使用不稳定的构建”来识别和修复问题。

现在您已经将构建存储在您的仓库中,可以快速选择您想同步的变更列表编号。

如果一切运行正常,并且您希望用户可以访问这个相关的构建,可以将特定的变更列表标记为。如果该特定构建中存在破坏性bug,则标记为坏。

当用户点击Sync Now(立即同步)时,他们将收到标记为的最高版本,然后能够从顶部面板启动各种编辑器。

开始使用:UnrealGameSync

立即开始使用Perforce Helix Core和UnrealGameSync。Perforce Helix Core被视为游戏版本控制的行业标准,并受到19家Top 20 AAA工作室的青睐。

文章来源:https://bit.ly/3P9sWDP