关于UPROPERTY的介绍,官方是这么说的:
UProperty变量通过标准C++语法及额外的描述符号进行声明,描述符号包括变量修饰符以及放置于声明上的元数据。(官方中文释义)
Properties are declared using standard C++ variable syntax, preceded by the UPROPERTY macro which defines property metadata and variable specifiers.
差不多就是用来修饰属性的。在声明属性时,声明上可添加修饰符以控制引擎和编辑器的不同方面的属性表现。
最常见的用法是:
UPROPERTY(EditAnywhere)
int Test;
这样就可以把Test属性显示在编辑器中了。如图:
所有属性修饰符(用EditAnywhere和Category测试了一下,是不区分大小写的,但是规范起见,还是按照官方的大小写规则来):
AdvancedDisplay
属性被显示在细节面板的高级下拉框中。
AssetRegistrySearchable
AssetRegistrySearchable关键字表明此属性及其值将会为任意将其作为成员变量而包含的资源类示例被自动添加到资源注册中。不可用于结构体属性或参数。
BlueprintAssignable
仅能用于Multicast代理。应显示该属性,以供在蓝图中分配。