UnrealBuildTool
文章平均质量分 80
Cheng游戏开发
这个作者很懒,什么都没留下…
展开
-
UBT是如何处理Target.cs和Build.cs的?-Unreal4源码拆解-UnrealBuildTool功能流程解析
UBT是如何处理Target.cs和Build.cs-Unreal4源码拆解-UnrealBuildTool功能流程解析专栏链接知乎专栏:UBT源码解析功能漫谈我们项目和引擎里面的每个模块都有build.cs,我们的项目本身有Target.cs,UE4是如何处理这两种文件呢?UBT会把两种文件编译到DLL里面。不管是项目还是引擎,DLL都在Intermediate\Build\BuildRules在内存里面是如何组织的呢?对每一个Build.cs,UBT会在内存中创建一个ModuleR原创 2021-12-21 00:11:50 · 1390 阅读 · 1 评论 -
图解最终构建的项目是以什么形式在UBT内存中保存的?UnrealBuildTool功能流程解析-Unreal4源码拆解
Unreal4源码拆解UnrealBuildTool功能流程解析TargetDescriptor构建对象描述类概述TargetDescriptor 构建目标的描述信息保存了构建一个UEBuildTarget所需要的所有信息创建方式:用于该项目依赖的项目,这些项目需要在主项目之前编译时候进行编译会为这些需要提前编译的项目创建TargetDescriptor调用public static TargetDescriptor FromTargetInfo(TargetInfo Info)原创 2021-12-16 23:46:01 · 633 阅读 · 0 评论 -
UnrealBuildTool的如何处理构建平台配置文件BuildConfiguration.xml-Unreal4源码拆解-UnrealBuildTool功能流程解析
UnrealBuildTool的如何处理构建平台配置文件BuildConfiguration.xml-Unreal4源码拆解-UnrealBuildTool功能流程解析前言处理构建平台配置文件在实例化ToolMode之前找到ToolModeOptions.XmlConfig标记位后开始解析如图主要步骤先找到所有配置文件。再找到配置文件的生成的二进制缓存文件(可自己指定)。缓存文件新,会把新值写入配置文件。配置文件新,重新生成缓存文件。通过xmlScheme验证配置文件正确性。设置原创 2021-12-14 19:16:03 · 613 阅读 · 0 评论 -
UBT中的构建平台管理工具类UEBuildPlatform-Unreal4源码拆解-UnrealBuildTool功能流程解析
Unreal4源码拆解-UnrealBuildTool功能流程解析UBT中的构建平台管理工具类UEBuildPlatform前言UEBuildPlatform 是一个工具类,静态内容 包含了 所有注册平台的组织和构建平台信息等等 以及 相关处理函数。同时也是一个基类。以此作为 基类拓展出了很多子类,均在Engine\Source\Programs\UnrealBuildTool目录下子类根据平台建立,主要增加保存了 对应平台 的 SDK相关信息和处理函数Platform\Android\U原创 2021-12-12 00:44:58 · 549 阅读 · 0 评论 -
UnrealBuildTool的构建平台注册流程-Unreal4源码拆解-UnrealBuildTool功能流程解析
Unreal4源码拆解-UnrealBuildTool功能流程解析-UnrealBuildTool的构建平台注册流程前言构建平台的注册流程会在 ToolMode 实例化 之前进行,根据ToolMode子类 的类型标志位,来进行不同方式的构建平台注册。源代码精简以后如下:可见是3种方式, if((ModeOptions & ToolModeOptions.BuildPlatforms) != 0) { UEBuildPlatform.RegisterPlatforms(false原创 2021-12-10 11:58:01 · 583 阅读 · 0 评论 -
UnrealBuildTool的UnrealPlatformGroupUnreal4-源码拆解-UnrealBuildTool功能流程解析
Unreal4源码拆解-UnrealBuildTool功能流程解析-UnrealBuildTool的UnrealPlatformGroup前言我们构建的目标组织类,其实就是由一个名称和一个ID组成在UEBuildPlatform类中保存了Dictionary<UnrealPlatformGroup, List<UnrealTargetPlatform>> PlatformGroupDictionary也是意味着一个组织UnrealPlatformGroup可以对应多个平台原创 2021-12-09 17:39:08 · 181 阅读 · 0 评论 -
UnrealBuildTool的UnrealTargetPlatform-Unreal4源码拆解-UnrealBuildTool功能流程解析
Unreal4源码拆解-UnrealBuildTool功能流程解析-UnrealBuildTool的UnrealTargetPlatform前言我们构建的目标平台类,其实每个平台的目标平台类实例就是由一个名称和一个ID组成与UniqueStringRegistry强耦合,UniqueStringRegistry可以看:本人写的UniqueStringRegistry介绍类 public partial struct UnrealTargetPlatform成员变量private int Id;原创 2021-12-09 16:28:36 · 553 阅读 · 0 评论 -
UniqueStringRegistry-Unreal4源码拆解-UnrealBuildTool功能流程解析
Unreal4源码拆解-UnrealBuildTool功能流程解析-UniqueStringRegistry引擎版本4.274.2x功能不会差太多主要功能概括UniqueStringRegistry类,如其命名,独特的字符串注册表。功能上大致是可以保存一系列独特的字符串,并且按照他们的加入顺序,给其索引一个ID值 。与构建平台注册模块密切相关。(“Win64”,"Mac"等等)主要成员变量private Dictionary<string, int> StringToI原创 2021-12-08 23:34:54 · 140 阅读 · 0 评论 -
ModuleDescriptor-Unreal4源码拆解-UnrealBuildTool功能流程解析
Unreal4源码拆解-UnrealBuildTool功能流程解析-ModuleDescriptor引擎版本4.274.2x功能不会差太多主要功能概括ModuleDescriptor类,如其命名,模块描述信息。功能上大致是以JSON的方式读取和更新 .uplugin文件 。具体设计上类内变量名和JSON中项名相同。 注意:可读可写 .uplugin文件首先.uplugin文件文件是JSON文件,在每个插件的主文件夹中描述插件信息的文件。举例:Engine\Plugins\Ani原创 2021-12-08 19:14:20 · 352 阅读 · 0 评论 -
UnrealBuildTool的RulesScope-Unreal4源码拆解-UnrealBuildTool功能流程解析
Unreal4源码拆解-UnrealBuildTool功能流程解析-UnrealBuildTool的RulesScopeRulesScope类介绍功能漫谈RulesScope类,如其命名,规则范围,功能上大致是记录一下模块/文件之间引用关系。本人更倾向于模块,其实Unreal里面模块之间用文件夹区分的很明白。模块之间会以单向树形结构延伸namespace UnrealBuildTool{ class RulesScope { public string Name;原创 2021-12-06 22:59:24 · 99 阅读 · 0 评论 -
PluginReferenceDescriptor-Unreal4源码拆解-UnrealBuildTool功能流程解析
Unreal4源码拆解-UnrealBuildTool功能流程解析-PluginReferenceDescriptor引擎版本4.274.2x功能不会差太多主要功能概括PluginReferenceDescriptor类,如其命名,引用插件的描述信息。功能上大致是以JSON的方式读取和更新 .uplugin文件 的部分内容。具体设计上类内变量名和JSON中项名相同。描述内容为"Plugins": [ { "Name": "LiveLink", "Enabled":原创 2021-12-06 22:47:54 · 258 阅读 · 0 评论 -
Plugin工具类-Unreal4源码拆解-UnrealBuildTool功能流程解析
Unreal4源码拆解-UnrealBuildTool功能流程解析-Plugin4.2x功能不会差太多主要功能Plugin静态类,功能上大致是一个工具类,根据文件夹保存了每个加载过的插件信息和.uplugin引用。笔者大胆猜测,其实Unreal官方自己很多插件是没有开源的,所以在UBT中空有大量的完整的流程,但是没有文件。静态成员数据static Dictionary<DirectoryReference, List> PluginInfoCache按照根文件夹记录加载过的插原创 2021-12-06 12:00:21 · 347 阅读 · 0 评论 -
PluginDescriptor-Unreal4源码拆解-UnrealBuildTool功能流程解析
Unreal4源码拆解-UnrealBuildTool功能流程解析-PluginDescriptor原创 2021-12-03 23:40:30 · 527 阅读 · 0 评论 -
UnrealBuildTool主流程-Unreal4源码拆解-UnrealBuildTool功能流程解析
Unreal4源码拆解-UnrealBuildTool功能流程解析-UnrealBuildTool主流程前置工作需要下载 Unreal4 的 C++ 源代码源码目录在 UnrealEngine\Engine\Source\Programs\UnrealBuildTool文件为UnrealBuildTool.csUBT的主类所在位置,也是main函数的入口。下面以一张图来概括UBT所做的工作篇幅受限黄色部分会单独写文章解析全局配置参数详解静态类 UnrealBuilTool 下面的变原创 2021-11-27 23:05:43 · 460 阅读 · 0 评论 -
UnrealBuildTool主流程中的ToolModeOptions解析-Unreal4源码拆解-UnrealBuildTool功能流程解析
Unreal4源码拆解-UnrealBuildTool功能流程解析-UnrealBuildTool主流程中的ToolModeOptions解析前置工作主流程:https://zhuanlan.zhihu.com/p/438562865在 UnrealBuildTool 主流程里面,会根据命令行参数切换 3 种 ToolMode 子类默认 BuildMode-clean 对应了 CleanMode-ProjectFiles 等等其他一些参数对应了 GenerateProjectFilesMod原创 2021-11-28 19:28:09 · 233 阅读 · 0 评论 -
UnrealBuildTool的RulesScope-Unreal4源码拆解-UnrealBuildTool功能流程解析
Unreal4源码拆解-UnrealBuildTool功能流程解析-UnrealBuildTool的RulesScope原创 2021-12-03 21:43:30 · 205 阅读 · 0 评论