为了帮助虚幻引擎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。
- 下载并安装Wix
安装完成后,系统会提示您在Visual Studio中安装其他依赖项。在第一次运行解决方案文件时,请允许更新和安装这些依赖项,以便进一步构建项目。
- 注意:使用适当的Visual Studio版本很重要。
- 下载虚幻引擎源代码
为了能够访问这些文件,您需要将您的Epic帐户与您的Github帐户相关联。或者,如果您有许可,则可以从Epic的公共Perforce Helix Core许可服务器中获取。
- 将虚幻引擎源文件添加到一个新的主线流中
请将此工作区设置为AllWrite,以避免构建问题。
- 注意:如果您使用的是Windows系统,请确保您的工作区根路径少于50个字符,或者您的注册表中已经启用了长文件路径长度。
- 运行Setup.bat来安装依赖项
- 注意:安装Visual Studio依赖项所需的时间可能会有所不同,这取决于虚幻引擎或UnrealGameSync是否已经在机器上构建过。
-
运行GenerateProjectFiles.bat
-
打开*\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
- 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工作室的青睐。
Perforce Helix Core能帮助您提升游戏开发的速度与效率,立即联系Perforce中国授权合作伙伴——龙智。