UFUNCTIONのブループリント(BP)関係の指定子による挙動一覧表
| 指定子 | BP側で呼び出し可能か | BPのイベントとして使えるか | C++で処理を書けるか | 
|---|---|---|---|
| BlueprintCallable | 〇 | × | 〇 | 
| BlueprintPure | 〇 | × | 〇 | 
| BlueprintImplementableEvent | × | 〇 | × | 
| BlueprintNativeEvent | × | 〇 | 〇 | 
BlueprintCallable
BP側で呼べるようになる。
関数の後ろにconst を付けると実行ピンを持たないノードになる。
主にC++で書いた処理をBPで呼び出したい時に使う

BlueprintPure
Blueprintからの呼び出しが可能。
実行ピンを持たないノードになる。
BlueprintImplementableEvent
C++で処理を実装する事は出来ず、BPのイベントとして処理を書ける。
C++側で関数を呼び出すこともできる為、主にBPで作った処理をC++で呼び出したい時に使う。
BlueprintNativeEvent
BlueprintNativeEventはC++で処理を書きたい場合
UFUNCTION(BlueprintNativeEvent)
void CountdownHasFinished(); 
virtual void CountdownHasFinished_Implementation(); // C++で中身を書くのはこっちだけ
virtual void 〇〇_Implementation();と記述しソースファイルに処理を書きこむ
エラーになる書き方
BlueprintImplementableEventやBlueprintNativeEventなどイベントとして扱う関数はソースを作成してしまうとエラーになる

