目录结构

在顶层,有Engine目录和任何您有的游戏项目。 Engine目录包含了引擎本身和它所具有的所有工具。 每个游戏文件夹包含了针对该游戏的所有文件。 和之前的引擎版本相比,在UE4中引擎和游戏项目之间有了更好的分离。

根目录

  • Engine -包含了所有源代码,内容等,它们组成了整个引擎。

  • Templates -在创建新项目 时的可用项目模板集合。

  • GenerateProjectFiles.bat - 用来创建在Visual Studio中运行引擎和您的游戏所需的虚幻引擎4解决方案和项目文件。 请参照项目文件自动生成 获得更多详情。

  • UE4Games.uprojectdirs - 指导UnrealBuildTool 查找默认项目位置的帮助文件。

通用目录

有些子目录在引擎和游戏项目的目录中都存在:

  • Binaries - 包含了编译过程中产生的所有可执行文件或其他文件。

  • Build -包含了编译引擎或游戏所需的文件,包括创建针对特定平台的版本所需的文件。

  • Config -包含了用于设置控制引擎行为的值的配置文件。 在游戏项目的Confige目录文件中设置的值将覆盖在Engine\Config目录设置的值。

  • Content - 存放引擎或游戏的内容,包括资源包及地图。

  • DerivedDataCache - 包含了为引用的内容而生成的衍生数据文件。 如果引用内容没有可用的缓存文件,则会极大增加载入时间。

  • Intermediate - 包含了在编译引擎或游戏时生成的临时文件。 在游戏目录中, Shaders 存储在 Intermediate 目录下。

  • Saved - 包含了自动保存内容,配置 (*.ini)文件以及日志文件。 另外, Engine > Saved 目录包含了崩溃日志,硬件信息以及Unreal Swarm的选项及数据。

  • Source - 存放了引擎或游戏的所有源文件,包括引擎源码、工具、游戏性类等。

    • Engine - Engine目录中源码文件分为以下几类:

      • Developer -编辑器和引擎都使用的文件。

      • Editor -仅编辑器使用的文件。

      • Programs -引擎或编辑器使用的外部工具。

      • Runtime - 仅引擎使用的文件。

    • Game -游戏项目中的源码文件按模块分类;一个模块一个目录。 每个模块包含以下信息:

      • Classes -包含了所有游戏性类的头文件 (.h) 文件。

      • Private -包含所有 .cpp 文件,包括游戏性类的实现文件及模块的实现文件。

      • Public - 包含了模块的头文件。

引擎专有目录

某些子目录是引擎目录专有的。

  • Documentation -包含了引擎文档,既包含了源码件也包含了已发布的文件。

    • HTML - 已发布的HTML文件。

    • Source -markdown源码文件。

  • Extras -额外的辅助功能和工具文件。

  • Plugins - 包含了引擎中用到的插件。

  • Programs -包含了UE4根目录中存储的项目配置文件和日志文件以及其它诸如UnrealFrontend和UnrealHeaderTool的虚幻程序。

  • Shaders - 存放了引擎的着色器源码文件 (.usf)。

游戏项目目录

目录 描述
Binaries 包含了编译过程中产生的所有可执行文件或其他文件。
Config 您游戏的默认项目配置 。
Content 包含了引擎或游戏的内容,包括资源包及地图。
External dependencies 显示了公共的引擎头文件 (仅在Visual Studio中可见) 。
Intermediate 包含了由UnrealBuildTool 生成的文件,比如Visual Studio项目文件。 这些文件可被删除和重建。
Saved 保存了引擎生成的文件,比如配置文件和日志。 这些文件可被删除和重建。
Source 包含了游戏模块对象的类文件。
Classes 包含了游戏对象类的定义 (.h 文件)。
Private 包含了私有游戏对象类的实现文件 (.cpp 文件) 。
Public 包含了公共游戏对象类的实现文件 (.cpp 文件) 。

解决方案目录

目录 描述
Classes 包含了游戏对象类的定义 (.h 文件) 。
Config 您游戏的默认项目配置 。
External dependencies 显示了公共的引擎头文件 (仅在Visual Studio中可见) 。
Private 包含了私有游戏对象类的实现文件 (.cpp 文件) 。
Public 包含了公共游戏对象类的实现文件 (.cpp 文件) 。