Unreal Engine 5 Blueprint Interfaces to C++ Reference
Blueprint Interfaces let unrelated classes share a common set of callable functions without inheriting from the same base class. In C++ this maps onto Unreal's interface system, which uses the UINTERFACE macro to declare a UInterface-derived reflection class plus a paired I-prefixed C++ interface that holds the actual functions.
This category covers the three things you do with interfaces in UE5 C++: declaring an interface with UFUNCTION(BlueprintNativeEvent) so Blueprints can see it, implementing it on an AActor via _Implementation overrides, and calling it safely with Implements<>() and the generated Execute_ static wrappers.
3 nodes in this category.
Declare Blueprint Interface
A Blueprint Interface in C++ is declared as two classes: aUINTERFACE-marked UMyInterface reflection stub and a plain IMyInterface that holds the functions, marked Blueprintable so Blueprints can implement it.View C++ equivalent →Implement Interface
To implement an interface in C++, add theI-class to your class's inheritance list (public IMyInterface) and override the function as Interact_Implementation, not Interact.View C++ equivalent →Call Interface Function
Call an interface function safely by first checkingTarget->Implements<UMyInterface>() and then invoking the generated static wrapper IMyInterface::Execute_Interact(Target).View C++ equivalent →