Unreal Engine 5 · Blueprint → C++
Blueprint Implementable Event in Unreal Engine 5 C++UE Docs
BlueprintImplementableEvent declares a function in C++ that is implemented entirely in Blueprint and called from C++. You declare it in the header with no .cpp body and Unreal generates the call hook.
Blueprint node & C++ equivalent
// .h — implemented in Blueprint, called from C++ (no C++ body)
UFUNCTION(BlueprintImplementableEvent, Category="Gameplay")
void OnScored(int32 Points);What is BlueprintImplementableEvent?
This specifier lets C++ define the signature of an event while leaving the implementation to Blueprint. It is the inverse of BlueprintCallable: instead of Blueprint calling into C++, C++ calls out into a Blueprint graph.
Declare it in the header only: UFUNCTION(BlueprintImplementableEvent, Category="Gameplay") void OnScored(int32 Points);. Crucially you write no C++ definition for OnScored; Unreal Header Tool generates a thunk that runs the Blueprint event.
How to use it in C++
Call it from C++ exactly like a normal method, for example OnScored(10);, and the bound Blueprint graph executes. If a designer has not implemented the event in a Blueprint subclass, the call simply does nothing.
Never provide a body for a BlueprintImplementableEvent in the .cpp file. Doing so causes a linker or compile conflict because the Header Tool already generates the function for you.
When to use it
Use BlueprintImplementableEvent for designer-facing hooks where C++ controls when the event fires but the visual response, audio, or score popup is authored in Blueprint. Common examples are OnScored, OnDamaged, or OnInteract.
If you also need a sensible default behaviour in C++ that designers can optionally override, use BlueprintNativeEvent instead, which allows a default _Implementation body.
Frequently asked questions
How do I call a Blueprint function from C++ in UE5?+
Declare a function with UFUNCTION(BlueprintImplementableEvent) in the header and give it no C++ body. Implement it in a Blueprint subclass, then call it from C++ like a normal method and the Blueprint graph runs.
Do I write a .cpp body for BlueprintImplementableEvent?+
No. BlueprintImplementableEvent must have no C++ definition. Unreal Header Tool generates the function automatically, so providing your own body causes a compile or link error.
What happens if no Blueprint implements the event?+
Nothing happens. Calling a BlueprintImplementableEvent that no Blueprint has implemented is safe and simply returns without running any logic.