为何无法将自定义UObject类选为蓝图的父类?
问题:为什么自定义的UObject子类C++类无法在蓝图重父类时被选中?
我有一个父类为Object的蓝图,为了能从C代码里引用它,新建了一个继承自UObject的C类,在里面定义了一些字段和方法,打算把原蓝图的父类改成这个新的C类。但折腾了好长时间,一直没法在蓝图的重父类选项里找到这个C类,后来偶然在IDE里找到了原因和解决办法,特意分享出来帮踩坑的朋友。
解决方案
问题出在C++类的UCLASS宏标记上:默认创建的UObject子类如果没有添加Blueprintable属性,是不允许蓝图将其作为父类的。
只需要在你的C++类头文件的UCLASS宏里加上Blueprintable即可,示例代码如下:
UCLASS(Blueprintable) class YOURPROJECT_API UYourCustomClass : public UObject { GENERATED_BODY() // 你的字段和方法定义 };
修改后重新编译项目,回到UE编辑器就能在蓝图重父类的选项里找到这个自定义C++类了。
内容的提问来源于stack exchange,提问作者Svend Hansen
相关产品推荐
相关产品推荐

