{ }Blueprint → C++

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

C++
// .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.

Related Events & Dispatchers nodes

View all Events & Dispatchers nodes →