Unreal Hierarchy

Unreal Hierarchy

image-20240821150552102

image-20240821150523560

  • Package >> World >> Level >> Actor >> Actor Component
  • Package >> World , Meshs , Textures

运行时引擎架构.drawio

Module的核心定义

Module 是虚幻引擎中管理代码编译的最小单元,它将一组代码资源聚合按一定规则聚合到一起,实现特定的功能,提供给外部调用。包括但不限与C++文件 txt文本 wav音频 png图片等。

Module 分为引擎模块,项目模块,插件模块

image-20241025164859937

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
namespace ELoadingPhase
{
enum Type
{
/** As soon as possible - in other words, uplugin files are loadable from a pak file (as well as right after PlatformFile is set up in case pak files aren't used) Used for plugins needed to read files (compression formats, etc) 尽早加载*/
EarliestPossible,

/** Loaded before the engine is fully initialized, immediately after the config system has been initialized. Necessary only for very low-level hooks 配置初始化完成之后*/
PostConfigInit,

/** The first screen to be rendered after system splash screen 加载jie'mian*/
PostSplashScreen,

/** Loaded before coreUObject for setting up manual loading screens, used for our chunk patching system */
PreEarlyLoadingScreen,

/** Loaded before the engine is fully initialized for modules that need to hook into the loading screen before it triggers */
PreLoadingScreen,

/** Right before the default phase */
PreDefault,

/** Loaded at the default loading point during startup (during engine init, after game modules are loaded.) */
Default,

/** Right after the default phase */
PostDefault,

/** After the engine has been initialized */
PostEngineInit,

/** Do not automatically load this module */
None,

// NOTE: If you add a new value, make sure to update the ToString() method below!
Max
};

/**
* Converts a string to a ELoadingPhase::Type value
*
* @param The string to convert to a value
* @return The corresponding value, or 'Max' if the string is not valid.
*/
PROJECTS_API ELoadingPhase::Type FromString( const TCHAR *Text );

/**
* Returns the name of a module load phase.
*
* @param The value to convert to a string
* @return The string representation of this enum value
*/
PROJECTS_API const TCHAR* ToString( const ELoadingPhase::Type Value );
};