BlueprintImplementableEvent和BlueprintNativeEvent

在C++代码中我们可能会遇到这两个对函数的定义

复制代码
UFUNCTION(BlueprintImplementableEvent, Category = "TEST")
void testFunc1()


UFUNCTION(BlueprintCallable, BlueprintNativeEvent, Category = "TEST")
void testFunc2()

BlueprintImplementableEvent修饰的函数,函数体必须在蓝图中实现,C++不能写函数体。为的是让C++中能调用蓝图实现的方法,换句话说是可以让c++触发蓝图事件。

BlueprintNativeEvent修饰的函数,C++和蓝图中都可以实现函数体,C++中的函数体必须是

复制代码
void UMyClass::testFunc2_Implementation()
{
    // C++ 默认行为
}

蓝图中的实现可以覆盖c++实现,当蓝图覆盖实现时,C++的Implementation不会调用,除非在蓝图中主动调用Parent。

如果 C++ 必须要有默认逻辑 → 使用 BlueprintNativeEvent

例如 AI 行为、角色事件、系统机制。

如果完全由蓝图设计 → 使用 BlueprintImplementableEvent

例如 UI 动画、按键响应、触发器效果。

相关推荐
明洞日记2 小时前
【VTK手册019】 深入理解 vtkProperty:从几何表达到 PBR 物理渲染
c++·图像处理·算法·vtk·图形渲染
汉克老师2 小时前
2025年海淀区中小学信息学竞赛复赛(小学组试题第六题 蜂窝网络 (net))
c++·贪心算法·北京海淀中小学信息学竞赛·lower_bound
xiaoye-duck2 小时前
C++入门基础指南:命名空间namespace
c++
4311媒体网2 小时前
php和c++哪个更好学?C++难学吗?
java·c++·php
修炼地2 小时前
代码随想录算法训练营第二十七天 | 56. 合并区间、738.单调递增的数字、968.监控二叉树
c++·算法
仰泳的熊猫2 小时前
1031 Hello World for U
数据结构·c++·算法·pat考试
liu****2 小时前
12.C语言内存相关函数
c语言·开发语言·数据结构·c++·算法
FMRbpm2 小时前
栈练习--------从链表中移除节点(LeetCode 2487)
数据结构·c++·leetcode·链表·新手入门