プログラマ向けの内容となります。ゲーム等のインタラクティブなコンテンツを作っている時によく使うノードに「SpawnActorFromClass」や「ConstructObjectFromClass」があります。これらのノードは他と少し違う機能を備えているのですが、お気付きでしょうか?その機能とは、「入力ピンで指定したクラスによって、他の入力ピンや出力ピン内容が動的に変更される」というものです。クラスを指定するとします。Reference」に変わります。新たな入力ピンとして「Instigator」が出現していたり、地味にノードタイトルが変わっていたりします。今回はこれをプロジェクト用に拡張してみます。マクロを用いて関数指定子を適切に設定することで作成できます。クラスを継承して実装してあげる必要があります。ノードを例に取ります。クラスで実装されています。できる関数をいくつか紹介します。内のコードは載せませんが、後で具体的な拡張事例を載せてますのでそちらをご覧下さい。入力/出力ピン情報を作成します。実行ピンの他、以下のピンが入力ピンとして定義されています。何かしらのタイミングで入力/出力ピン情報に変更が出た場合の処理です。bIsExposedToSpawn(スポーンする際にプロパティを入力できるようにするフラグ)があれば、それらを入力ピンとして追加するようになっています。ノード動作を確定させます。エディタモジュールなので、ランタイムには含まれません。情報として与えるという事が必要になります。通知する、といった事を必要な数だけ繰り返します。有効なプロパティを順に設定UGameplayStatics::FinishSpawningActorといった順番で関数がリンクされています。して出力されるため、実行時には関連付けた関数リファレンスが直接呼ばれる形になります。ノードのタイトルを指定します。タイトルを入力クラスに合わせて動的に変更させることも可能です。ノードのタイトル色を指定します。ノードの入力クラスピンに指定できるベースクラスを指定できます。クラスを継承したものしか候補に現れないといった事も可能になります。ノードのカテゴリを指定できます。