【UE】自作ノードの引数(入力ピン)に配列を設定する方法

Unreal Engine

遭遇した問題

配列の引数を持つ、ブループリントから呼び出し可能な関数を以下のコードのように作成した際、ブループリントエディタでコンパイルすると「The current value of the ‘ ○○ ‘ pin is invalid: Array inputs (like ‘○○’) must have an input wired into them (try connecting a MakeArray node).」というエラーが発生する。

public:
    UFUNCTION(BlueprintCallable, meta = (KeyWords = "hoge"))
    static void Hoge(TArray<FName> Names);//「= TArray<{型名}>()」で引数を初期化してもダメ

ピンの現在の値が無効です: 配列入力(’○○’など)には入力が配線されている必要があります(MakeArrayノードを接続してみてください)。

DeepL

対処法

以下のコードのように UFUNCTIONmeta 内に AutoCreateRefTerm を追加すると良い。

public:
    UFUNCTION(BlueprintCallable, meta = (KeyWords = "hoge", AutoCreateRefTerm = "Names"))//ここの「Names」は引数の配列名に合わせる
    static void Hoge(TArray<FName> Names);

リストされているパラメータは参照によって渡されますが、ピンが接続されていなければ自動作成されるデフォルトを持ちます。これは配列ピンで使用されるブループリントの便利な機能です。

メタデータ指定子

その他

参考記事

お問い合わせ

    タイトルとURLをコピーしました