本页面为虚幻用户介绍了如何从 虚幻引擎(UE) 的GitHub仓库下载源代码,以及如何利用源代码快速上手。
如要访问https://github.com/EpicGames/UnrealEngine上的仓库,你必须满足以下条件:
-
已经是虚幻引擎的订阅用户。
-
已经拥有GitHub账号。
-
已经根据GitHub上的UE4一文中的所述步骤,将GitHub账号与你的虚幻引擎账号关联。
你无需下载源代码就能使用虚幻引擎4。如果你想通过下载可执行文件的方式来安装虚幻引擎,请参阅安装虚幻引擎一文,了解获取虚幻的方式。不过,你会发现掌握源代码会为你和项目带来宝贵的信息。例如:
-
你将获得Epic工程师每天(实际上是每一分钟)完成的最新功能和漏洞修复。
-
如果你发现了一个尚未被我们修复,但对你的项目来说影响很大的漏洞,你可以自己在源代码中进行修复并重新生成二进制文件,以便项目能够正常运行。
-
通过将你的修复工作提交给Epic,你可以改进引擎并为整个虚幻社区提供帮助。
如果你是虚幻引擎的授权用户,你可以通过我们的Perforce服务器访问源代码,而无需通过GitHub的公开仓库访问代码。
访问GitHub上的虚幻引擎源代码
虚幻引擎提供完整的C++源代码访问权限,以便用户研究、定制、扩展和调试整个虚幻引擎,并毫无阻碍地完成项目。
随着我们在主线上持续开发新功能,我们位于GitHub上的源代码库也会持续更新。因此你甚至无需等到下一个产品版本就能获得最新的代码。
要访问虚幻引擎源代码,请按以下步骤操作:
-
前往GitHub并注册账号。
-
使用经过验证的Epic Games账号登录UnrealEngine.com。要打开账号操作面板,请将鼠标悬停到 用户名 上,并在下拉菜单中选择 个人(Personal)。
-
打开账号操作面板后,在侧边栏中选择 关联 (Connections) 选项卡。选择 账号(Accounts) 选项卡,然后选择GitHub图标下方的 关联(Connect) 按钮。
-
如果你没有签署过《虚幻引擎终端用户许可协议》,需要先浏览协议条款并勾选复选框,然后选择 关联账号(Link Account)。如果你登出了GitHub账号,在点击"关联账号"按钮后将会被跳转到GitHub登录。
-
要完成OAuth应用程序授权流程,请点击 授权EpicGames(Authorize EpicGames) 按钮。如需详细了解此流程,请参阅GitHub关于授权OAuth应用程序的概述。
-
GitHub会发送邮件邀请你加入GitHub上的@EpicGames组织。你必须在7天内点击邮件内的 加入@EpicGames(Join @EpicGames) 按钮,才能完成GitHub与Epic Games账号的关联流程。
完成上述步骤后,你将收到来自Epic Games的邮件,确认你的GitHub和Epic Games账号关联成功。如果你没有收到确认邮件,或账号遇到问题,请向客服求助。现在,你就可以前往我们的GitHub页面(需要登录)下载完整源代码了。
源代码分支
你应该已经注意到,我们已将UE源代码发布在若干个分支中。
名字中含有dev、staging和test字样的分支是典型的Epic内部工作分支,对终端用户基本没有用处。在我们稳定新版本或进行在线修正时,可能会时不时出现一些短暂存在的分支。
版本分支
版本(Release) 分支始终代表当前官方版本。这些分支已经过我们QA团队的充分测试,非常适合用来学习虚幻引擎以及开放项目。我们会努力保证版本的稳定与可靠,并争取每隔几个月就发布一个新版本。
主分支
UE大部分活跃的开发工作都发生在ue5-main分支上。此分支代表着最新的引擎版本,可能存在错误或未经过编译。我们将其开放给渴望测试最新功能或与我们同步进行开发的开发者。
如果你选择在此分支上工作,请注意它可能比当前官方版本及下一个即将发布的版本分支更超前。因此,在我们从ue5-main分支直接创建一个新分支作为未来的官方版本前,你创建的、能够在ue5-main分支中运行的内容和代码可能与公开版本不兼容。
在本地机器上设置 Perforce 服务器
为了避免潜在的,与我们工具的集成问题,如UnrealGameSync,我们建议你运行 不分大小写 的 Perforce 服务器。
运行 Perforce 服务器又两种方式,P4D 和 P4S。P4D 运行时是一个命令行命令,因此它通常被用来做维护工作时使用。P4S 是一个和 P4D 相同功能的服务,这能让服务器程序在后台运行。 当安装 Perforce 服务器工具后,P4S 通常都会被安装并在后台启动。
有时候服务并没有自动启动。要先Windows系统中启动服务,首先找到 Control Panel -> Administrative Tools ->Services applet。 然后在列表中找到 Perforce Service 并启动它:
一旦服务运行后,可以通过 P4Admin 连接到服务器上。这是该服务器上第一个链接,然后就可以在初始连接对话框中创建新用户了。

将服务器的连接信息填入,并点击 OK。一旦在 P4Admin 中连接道服务器后,就可以很容易的创建新的 Depot,用户,用户组。 然后就能在 P4V 或者虚幻编辑器中使用新创建的认证信息来连接服务器。
阅读 P4Admin 文档 来获取进一步关于 Perforce 使用的信息。
P4 Typemap
在向新的 Depot 添加文件前,应当先设置 P4 Typemap 来让 Perforce 了解如何对待虚幻文件类型。typemap 的设置能够在 Perforce 中控制文件的只读和可写的形式。 然后要做这件事情,需要先在命令行下设置 P4 的环境变量。
p4 set P4USER=your.username
p4 set P4PORT=localhost:1666
将上面相应的部分替换为你的用户名和连接地址,并用下面的命令打开 typemap 设置。
p4 -P YourPassword typemap
然后将会看到一个文本窗口,这就是当前服务器的 typemap。下面是我们以前用过的 typemap 示例:
# Perforce File Type Mapping Specifications.
#
# TypeMap: a list of filetype mappings; one per line.
# Each line has two elements:
#
# Filetype: The filetype to use on 'p4 add'.
#
# Path: File pattern which will use this filetype.
#
# See 'p4 help typemap' for more information.
TypeMap:
binary+w //depot/....exe
binary+w //depot/....dll
binary+w //depot/....lib
binary+w //depot/....app
binary+w //depot/....dylib
binary+w //depot/....stub
binary+w //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
binary+l //depot/....ubulk
完成编辑后,点击键盘上的 Ctrl+S 保存并退出。命令行应该会提示 Typemap saved。
局域网的服务器
可以在本地局域网中设置一个服务器便于团队成员协同工作。只需要遵循上述的过程搭建服务并在客户端使用该服务器的连接信息即可。
云服务商
有一些云服务商提供了 Perforce 的云端架设服务以便于远程协作。可以先快速浏览以下搜索引擎中的 Perforce Hosting 结果。 每个主机服务商都有些不同,但总的来说都是会提供一组验证信息供你连接。查看下面的 从虚幻编辑器中连接 的部分来了解连接到 Perforce 云服务的信息。
设置本地的 Workspace
要在 Perforce 管理下的文件进行工作,需要在本机设置一个 Workspace 这样 Perforce 才能管理这些文件。 可以在 P4V 界面的主菜单中,View 菜单下的打开 Workspace 分页然后便能创建 Workspace 了:

要创建一个新的 Workspace,右键点击 Workspace 窗口空白处,选择 新建 Workspace 选项。然后输入要创建的 Workspace 的名称,以及你希望文件存储在本机的位置目录,即 Workspace 的根目录。

一旦有了服务器以及一个本地的 workspace 设定,便可以开始添加文件了。目前这必须在编辑器外,通过 P4V 来完成。 如果 workspace 中已经有了其他成员设置过的文件,则可以先跳过这一步。在创建一个新项目时,可以选择是 C++ 项目还是纯蓝图项目。 如果选择了 C++ 项目,则可以在项目目录中可以看到有 Source/ 目录。下面这些项目目录初始就应当被添加到版本管理中:

被高亮为 绿色 的目录和文件应该被添加到项目的 Depot 中。Binaries 目录高亮为 黄色,可以选择是否要加入到版本管理中,这取决于团队自生的工作需要。 如果团队中每个人都准备自己来编译引擎和游戏的话,那么 Binaries 则无需加入到版本管理中,但如果团队中有人只是想获取一个版本就能直接在编辑器中工作的话,则需要把 Binaries 添加上去。 请留意先前的 server typemap 的设置,能够让程序员们直接重新编译版本而不受在默认的 Perforce 管理配置下这些文件只读属性的限制。
向 Perforce 添加文件
向 Perforce 添加文件可以通过以下几个步骤完成。
-
要添加文件/目录到 Perforce的话,先在 P4V 中选择这些文件/目录,然后点击右键并选择 标记为添加 Mark For Add 选项。
-
这将会在默认的 changelist 中添加这些文件。所有添加的文件都可以在待上传 Changelist 分页中查看到:
-
要提交文件的话,首先在 changelist 上 点击右键并选择 Submit。然后就可以填写上传的描述信息,并点击 Submit 按钮完成提交。
如果要在一个其他人已经开始的项目中工作,可以直接在 P4V 中从 Perforce 上获取最新版本。 只需要在 P4V 的 Depot 视图中找到相应的项目目录,然后再该项目上 点击右键 并选择 获取最新版本。 然后将会根据当前 workspace 的根目录设置来获取该项目的所有文件到本地硬盘中。
从虚幻编辑器中连接
可以在编辑器中直接连接 Perforce 服务器,只需点击 工具栏 的 版本控制 按钮:

打开后,选择 Perforce 作为软件版本管理软件的提供商,并输入登录验证信息。 如果已经设置过 workspace 的话(当前项目正在该 Workspace 内),登录信息将会自动填上。

对于有些服务器,也包括很多云端的服务,可能会需要手动输入主机和密码信息才能在编辑器中访问 Depot。可以在 Perforce 的登录对话框中打开高级选项即能看到:

下载源代码
请按照如下说明下载虚幻引擎的源代码。
请确保你在Windows桌面系统中安装了Visual Studio 2019或更高版本的VS,然后再继续操作。
-
安装Windows版GitHub,然后分叉并克隆我们的仓库。
假如你想从命令行使用Git,请参阅设置Git以及分叉仓库等文档。
如果你不想用Git,你可以通过右侧的 '下载ZIP'(Download ZIP)按钮获取源代码。Windows内置的解压工具会将从网上下载的zip文件内容标记为不安全和不宜执行,因此请右键单击zip文件,并选择 '属性...' 和 '解锁',然后再进行解压。第三方zip工具通常不需要进行此操作。
-
安装 Visual Studio 2019。
所有桌面版Visual Studio 2019都可以构建UE5,包括Visual Studio Community 2017,这是面向小型团队和个人开发者免费提供的工具。 请确保作在安装中添加C++支持,这在默认情况下是禁用的。
-
在资源管理器中打开你的源代码文件夹,并运行
Setup.bat
。这样将下载引擎的二进制内容和先决程序,并设置虚幻文件关联。 在Windows 8上,可能会显示SmartScreen警告。请依次单击 更多信息 和 Run anyway 以继续。
引擎二进制文件的完整下载包需要一些时间才能完成下载。 后续检出只需要下载增量部分,速度将会大幅提高。
-
运行 GenerateProjectFiles.bat 来为引擎创建项目文件。这个过程应该不超过一分钟即可完成。
-
双击
UE5.sln
文件以将项目加载到Visual Studio中。将你的解决方案配置设置为 开发编辑器,将解决方案平台设置为 Win64,然后右键单击 UE 目标并选择 构建。大概需要10-40分钟完成编译,具体取决于系统规格。 -
编译完成后,可以将启动项目设置为 UE5 并按 F5 进行调试,以便从Visual Studio加载编辑器。
-
安装一个Git客户端,例如Mac版GitHub,然后Fork并复制仓库。
如需在终端使用Git,请参阅文章设置Git和Fork仓库。 若不想使用Git,请点击右边的 '下载ZIP(Download ZIP)' 即可直接获得源代码。
-
安装最新版本的Xcode。
-
在访达(Finder)中打开源文件夹,双击 Setup.command 下载引擎的二进制内容。之后可以关闭终端窗口。
如果将源代码以.zip格式下载,则可能会弹出警告,称其来自无法识别的开发者(因为GitHub上的.zip文件未进行数字签名)。 解决方法是右键点击Setup.command、选择Open,然后点击 打开(Open) 按钮。
-
在同一个文件夹中双击 GenerateProjectFiles.command。这一步操作应不会长于一分钟时间。
-
双击 UE5.xcworkspace 文件将项目加载到Xcode中。在标题栏中选择 My Mac 目标的 ShaderCompileWorker,然后选择 '产品(Product) > 编译(Build)' 菜单项。Xcode完成编译后,为 My Mac 目标和 UE5 执行相同操作。编译时间可能在15到40分钟之间,具体取决于你的系统配置。
-
编译完成后,选择 '产品(Product) > 运行(Run)' 菜单项目来加载编辑器。
我们的开发人员和支持团队目前使用最新版本的Ubuntu;因此,我们可能无法对其他Linux发布版本(包括其他版本的Ubuntu)提供支持。
-
安装visual Git客户端并Fork仓库。 如果你倾向于不使用Git,请可使用右侧的 下载ZIP(Download ZIP)按钮来获取zip文件格式的源代码。
-
打开源代码文件夹,并运行 Setup.sh 以下载引擎的二进制内容。
-
交叉编译和原生构建均受支持。
如果你使用Windows进行开发(我们同时计划支持Mac开发),并想要针对Linux平台打包游戏,而且希望尽量减少问题,则 交叉编译(Cross-compiling) 是较为合适的选择,这要求你安装交叉编译工具链(请参阅wiki上的Linux交叉编译页面)。
关于 原生编译(Native compilation) 请参见单独的README文件。
本页面为被许可用户展示了如何从GitHub上的源代码仓库下载并构建虚幻引擎。如果你想下载二进制版本的虚幻引擎,请阅读我们的安装虚幻引擎文档了解如何获取虚幻。
其他目标平台
-
如果你安装过Android NDK,可以通过设置脚本下载 安卓 支持。详情请参见安卓快速入门指南。
-
iOS 开发需要使用Mac。相关指南请见iOS快速入门指南。
-
诸如Sony PlayStation、Microsoft Xbox和Nintendo Switch主机和其他平台的开发有权限限制。你必须拥有这些第三方平台的注册开发者账号才能进行相关开发。
如需关于这些平台的额外文档或指南,请访问虚幻开发者网络支持站点,或前往虚幻引擎论坛 的各平台板块下载对应的存档文件。
如果你没有访问这些资源的权限,请先前往这些第三方平台网站注册一个开发者账号,然后联系你的Epic Games账号管理员(如有),如果没有管理员,请填写并提交虚幻引擎主机开发申请表并。Epic会联系你并发送可电子签名的正式协议。完成此步骤后,你就将收到如何访问目标平台源代码、二进制文件及其他内容指南。
许可和贡献
你对GitHub上的Unreal Engine的访问和使用受虚幻引擎最终用户许可协议的约束。如果你不同意这些条款(我们会不时对它们加以修订),你将不会被获准访问或使用虚幻引擎。
我们欢迎你通过GitHub上的拉取请求,为虚幻引擎的开发做出贡献。我们大部分的积极开发都在 主 分支中进行,所以我们更喜欢在那里接受拉取请求(对于新功能而言尤其如此)。我们尽力确保所有新代码都遵守Epic编码标准。所有贡献均受EULA条款的约束。
后续步骤
现在你已经下载并设置了虚幻引擎,你可以随时从源代码构建引擎。
注意事项
当你首次编译源代码并启动编辑器时,加载时间可能会比较长。 引擎会针对你的平台优化内容并将信息保存为 派生数据缓存(derived data cache),这种优化应该只会进行一次。
你为虚幻引擎代码设置的Fork分支会与你的GitHub账号权限关联。 如果你取消了订阅或切换了GitHub用户名,则需要重新创建Fork分支并从本地副本上传改动内容。