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 动画、按键响应、触发器效果。

相关推荐
姜糖编程日记12 小时前
C++——初识(2)
开发语言·前端·c++
AI视觉网奇13 小时前
audio2face docker方式
docker·ue5
刺客xs14 小时前
c++多线程 线程池的实现
开发语言·c++
福楠14 小时前
从C到C++ | 内存管理
c语言·c++
.简.简.单.单.14 小时前
Design Patterns In Modern C++ 中文版翻译 第十一章 享元模式
c++·设计模式·享元模式
BestOrNothing_201514 小时前
C++ 智能指针深入:四种智能指针所有权模型、原理与常见陷阱全景解析
c++·内存管理·智能指针·raii·内存销毁
兵哥工控14 小时前
mfc高精度定时器精简版实例
c++·mfc
小李小李快乐不已15 小时前
栈和堆理论基础
c++·算法·leetcode
夏幻灵15 小时前
CMD是什么
c++
HABuo16 小时前
【Linux进程(一)】进程深入剖析-->进程概念&PCB的底层理解
linux·运维·服务器·c语言·c++·后端·进程