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などイベントとして扱う関数はソースを作成してしまうとエラーになる