5️⃣

【UE5】BlueprintでDelegateを利用したい

2023/07/15に公開

環境

  • Unreal Engine 5.1.1
  • Windows 11

目的

BlueprintでDelegateを利用して、処理実装を外部に任せたい。

方法

Event Dispatcher を利用することで、処理を外部に移譲することができます。

移譲側の実装

My Blueprintタブにある EVENT DISPATCHER から通知側の追加ができます。
今回は TestEvent という名前で追加しました。

引数の設定

Detailsタブの Inputs 右の+ボタンから、通知パラメータを追加できます。
今回は NewParam という Boolean 型を追加します。

通知を送る

グラフ部分の右クリックメニューから Call XXX を選択します。
今回の場合は Call TestEvent となります。

通知ノードに対し、それを呼び出すノードをつなぎます。

実装側の実装

まず通知を送っているオブジェクトの参照を配置し、
そこからノードを引っ張って Assign XXX という項目を選択します。
今回の場合は Assign TestEvent となります。

選択すると、Bind Eventノードと、そこから呼び出されるイベントが
自動的に追加されます。

監視は開始時などに一度行えばよいので、 Begin Play 等で設定しておきましょう。
通知を受け取った際に行う処理は先ほど自動追加されたイベントに追加していきます。

準備完了

以上で準備完了です。

あとは、 Call XXX が呼ばれるたびに、監視側のイベントが実行されるようになります。
今回の場合だと、右クリックを押すたびに、 New Param に設定した True がデバッグ表示されます。

Discussion