ディスパッチャーを使ったら、Faild import for functionエラーが出た時の対処法(仮)
「ちゃんと動作はしてるんだけど、プロジェクトを開いた時の謎のエラーが気になる……」
妹「何やったの?」
「いや普通にディスパッチャーを作って、イベントをバインドして、UMGのアニメーションが終わったタイミングで色々やろうとしただけなんだけど。色々するところを全部消しても駄目で、バインドした段階でエラーメッセージが出る」
「こういう感じのやつ。イベントの名前とかは違うけど。名前が原因かもしれんと思って変えたけど駄目だったというか」
Blueprint compile error: failed import for function - UE4 AnswerHub
「古い投稿だけど同じようなトラブルを見かけて、シグネチャがどうのこうのと書いてあったから、それらしいところを探してみた」
「ディスパッチャー変数の詳細画面には、ディスパッチャーが受け取る変数を指定するとこがあるんだけど、その下にシグネチャというのがあった」
妹「シグネチャって何?」
「英語としては署名だけど、ここのはたぶん、どういう種類のパラメータを受け取るかっていう、そのパターンのことじゃないかと思う。この一覧に出て来るのはカスタムイベントとか関数とかで、それを選ぶと同じパラメータの組み合わせが設定される。例えば1つ目が整数で、2つ目が文字列とか」
妹「あんまり署名感ないけど」
「同じ組み合わせのディスパッチャーは互換性があるけど、違うと完全に別物扱いになるから、重要なところではある。とりあえず今回はパラメータは無しなんで、同じようにパラメータなしのやつを設定してみたり、パラメータありのを設定した後にパラメータ消したりした。そしたらなんか直った」
妹「直ったんだ」
「具体的に何をした時に直ったのかわからないけど、とにかくディスパッチャーのシグネチャのところを色々やると直るかもしれないと」