お世話になっております。
Blutility(GlobalEditorUtilityBase)を起動した際に、「エディタで呼び出す」が有効になっている関数が、以前であれば"カテゴリ"で指定したカテゴリ名のframe(という表記で合っているかわかりませんが、GUI上のexpand/collapseできるフレームを指します)以下に配置されていたのが、4.22では"アセット名+Actions"というframe以下に強制的に配置されます。
なお、通常のアクターBP上などで「エディタで呼び出す」に設定された関数については、カテゴリ名のframe以下に配置されます。
これは仕様でしょうか。
仕様の場合以前までのBlutilityを大きく変更しなければならないため、挙動を戻す事は可能でしょうか。
以上よろしくお願いいたします。
お世話になっております。
コードを調査した所、以下のCLにおける変更により仕様が変わったようです。
CL-4436132
Only show a single execution button for call-in-editor Blutility functions
They should use the one implemented by FEditorUtilityInstanceDetails, as that calls the post-action logic correctly
CL-4436132が入る以前では、 GlobalEditorUtilityBase
をダブルクリックした際に開かれるウィンドウには、 FEditorUtilityInstanceDetails::CustomizeDetails
によって追加されたボタンと、 FObjectDetails::AddCallInEditorMethods
によって追加されたボタンの2種類が表示されていました。後者は、一般的なActor継承のBPでCall In Editorを有効にするとそのBPの詳細パネルに追加されるボタンの実装に使われているものです。
そして、CL-4436132によってBlutilityの場合は後者の処理がスキップされるようになりました。その結果、ご報告いただいた挙動になったという流れです。そして、申し訳ないのですがコメント文を読む限りではこの挙動は仕様通りかと思います。そのため、UE4.21以前と同じ挙動にするためにはCL-4436132で入った変更を戻す必要があります。コードを見る限りでは、変更を戻しても他の処理にはおそらく影響はないかと思います。
ご参考になれば幸いです。
よろしくお願いいたします。