unityloverz 发表于 2022-11-18 10:11

调试Unreal源码方法

本文简单介绍如何编译调试UE4源码,以理解引擎是如何工作的,重点放在游戏调试而非编辑器调试上
一. 按照官方步骤下载引擎源码并编译出一个编辑器来

官方文档
https://docs.unrealengine.com/4.27/zh-CN/ProductionPipelines/DevelopmentSetup/BuildingUnrealEngine/
总结一下步骤:

[*]下载github上源码
[*]运行Setup脚本,这会下载一堆三方库
[*]运行GenerateProjectFiles脚本,生成UE4.sln工程文件
[*]以UE4作为启动项目,用合适的编译选项构建出编辑器,编译选项见下面官方链接,因为要构建编辑器,所以选项要以Editor结尾,如果不用调试编辑器细节,就不要选Debug模式免得之后编辑器性能太差。用默认DevelopmentEditor是个不错选择。
编译配置参考
不出意外,我们就能在Engine/Binaries/Win64下面得到UE4Editor.exe了
二. 创建一个cpp游戏工程

有几种方式:

[*]运行刚才的UE4Editor,创建一个cpp游戏工程
[*]也可以把其他版本(官方二进制)游戏工程转成我们编译的引擎,可以对uproject文件右键,选择Select Unreal Engine Version,然后改到自己构建的版本
游戏工程需要是cpp的原因是需要生成工程的sln文件,纯蓝图工程不会生成sln文件。一种偷懒做法是打开纯蓝图工程,加个没用的cpp类,这样能自动生成sln。
三. 构建游戏工程

打开uproject文件,编辑完你要的功能之后构建游戏,因为我们想要调试引擎,最好选择Debug模式,然后build Windows


这会耗费很长时间,构建系统需要先构建debug版本的游戏引擎,然后做编译材质、压缩贴图等资源操作,最后会在项目的Binaries目录下生成可以双击运行的游戏exe文件。
四. 调试源码

打开游戏工程的sln,把编译选项调整到刚才发布游戏的build configuration,例如Debug,然后点击调试就可以了,因为刚才发布游戏时已经编译过了,这步操作应该不需要重新编译,会很快进入游戏。
这样就可以在vs工程里断点调试UE源码了!

xiangtingsl 发表于 2022-11-18 10:14

为什么要打包???
页: [1]
查看完整版本: 调试Unreal源码方法