BP エディタでアクター BP のパラメータを変更すると、WorldPartition レベルに配置されているアクター全てが Unsaved になってしまうことがある

お世話になっております。

<br/>

BP アクターのアセットに対して BP エディタで以下の操作を行うと、編集した BP を利用している全てのアクターが WorldPartition レベル上で Unsaved となって保存を要求される状態となります。

  • ビューポート上や詳細パネルでコンポーネントのトランスフォームを変更する。
  • StaticMeshComponent の StaticMesh アセットを変更する。
  • コンポーネントパネル上でコンポーネントをドラッグして、新規ルートに設定する。

この時、アクターを保存しないこともできますが、保存しないことによる問題はありますでしょうか。

<br/>

また、こうなってしまうと複数人同時編集に支障が出る恐れがあるため、問題ないようであれば意図的に Unsaved にならないようにするエンジン改造を検討しております。

以下のスレッドでは簡単に回避できる問題ではないとの旨が話されているのですが、こちらの問題は現在も残っているのでしょうか。(こちらに載っていた UE-152711 は修正済み、UE-96195 はバックログとなっておりました)

[Content removed]

<br/>

よろしくお願い致します。

ご指摘のような操作が行われた場合には、アクターのバウンズなどFWorldPartitionActorDescに保存された情報が変化します。そのため__ExternalActors__以下に保存されているアクターに対応するファイルの保存が必要です。

故意に保存しないままにすると実際のアクターの情報とFWorldPartitionActorDescの差異が生まれ、思いがけない問題に発展します。

そのためプロジェクトの判断で保存を回避したり忘れた場合、任意のタイミングでアクターの再保存が必要になるなど逆にワークフローが複雑になる可能性があることにご注意ください。

はい。ご推察の通りです。ズレが生じる操作を行われた場合には手動の再セーブが必要になります。

ご確認ありがとうございます。

__ExternalActors__ 以下のファイルの再保存が必要な旨、承知しました。

このお話を聞いてると、例えば以下のような場合も同様の問題が発生すると思うのですが、そのような認識でよろしいでしょうか。

  • レベルを開かずにアクター BP を編集する。
  • C++ で定義したアクタークラスのデフォルト値のうち、FWorldPartitionActorDesc に影響を与える値(トランスフォーム情報やバウンズ情報など)を変更する。

よろしくお願い致します。

ご返答ありがとうございます。

承知しました。そういった挙動を踏まえた上で今後のワークフローを検討させて頂きます。