你可以将 结构体说明符 添加到结构体定义中,以便从各个方面控制它与引擎和编辑器的交互方式。
| 结构体说明符 | 效果 |
|---|---|
Atomic |
表面此结构体应该永远序列化为单个对象。不会为该类创建自动生成代码;只为稀疏元数据提供头文件。 |
BlueprintType |
将此结构体作为可以在蓝图中被用于变量的类型公开。 |
Immutable |
Immutable只在Object.h中有效,并且在逐渐被淘汰,请不要在新的结构体上使用它! |
NoExport |
不会为该类创建自动生成代码;只为稀疏元数据提供头文件。 |
元数据说明符
声明类、接口、结构体、列举、列举值、函数,或属性时,可添加 元数据说明符 来控制其与引擎和编辑器各方面的交互方式。每一种类型的数据结构或成员都有自己的元数据说明符列表。
元数据只存在于编辑器中,请勿编写访问元数据的游戏代码。
类可以使用以下元标签说明符:
| 类元标签 | 效果 | | --- | --- | |BlueprintSpawnableComponent | 如其存在,组件类可由蓝图生成。 |
| BlueprintThreadSafe | 只在蓝图函数库上有效。此说明符将把此类中的函数在动画蓝图中的非游戏线程上标记为可调用。 |
| ChildCannotTick | 用于Actor和组件类。如果本地类无法tick,那么基于此Actor或组件的蓝图生成类则无法tick,即使 bCanBlueprintsTickByDefault 为true也同样如此。 |
| ChildCanTick | 用于Actor和组件类。如果本地类无法tick,那么可以覆盖基于此Actor或组件的蓝图生成类的 bCanEverTick 标签,即使 bCanBlueprintsTickByDefault 为false也同样如此。 |
| DeprecatedNode | 用于行为树节点,说明类已废弃,编译时将显示一条警告。 |
| DeprecationMessage="Message Text" | 具有此元数据的已废弃类将包含此文本,以及Blueprint脚本在编译期间生成的标准弃用警告。|
| DisplayName="Blueprint Node Name" | 此节点在蓝图中的命名将被此处提供的值所取代,而非代码生成的命名。 |
| DontUseGenericSpawnObject | 不使用蓝图中的Generic Create Object节点来生成类的一个对象。此说明符只适用于既非Actor又非ActorComponent的蓝图型类时才有意义。 |
| ExposedAsyncProxy | 在Async Task节点中公开此类的一个代理对象。 |
| IgnoreCategoryKeywordsInSubclasses | 用于让一个类的首个子类忽略所有继承的 ShowCategories 和 HideCategories 说明符。 |
| IsBlueprintBase="true/false" | 说明此类是否为创建蓝图的一个可接受基类,与 Blueprintable 或 'NotBlueprintable` 说明符相似。 |
KismetHideOverrides="Event1, Event2, .." |
不允许被覆盖的蓝图事件的列表。 |
ProhibitedInterfaces="Interface1, Interface2, .." |
列出与类不兼容的接口。 |
RestrictedToClasses="Class1, Class2, .." |
由蓝图函数库类可以用它限制列表中命名类的用法。 |
ShortToolTip="Short tooltip" |
完整提示文本过长时使用的简短提示文本,例如父类选取器对话。 |
ShowWorldContextPin |
说明放置在此类拥有的图表中的蓝图节点必须显式其World情景引脚(即使其通常状态下为隐藏也同样如此),因为此类的对象无法被用作World情景。 |
UsesHierarchy |
说明类使用层级数据。用于实例化"细节"面板中的层级编辑功能。 |
ToolTip="Hand-written tooltip" |
覆盖从代码注释自动生成的提示文本。 |