Page 1 of 1

Arbor EditorをCloseTabせずにPlayするとFailed to unpersistエラーが発生する

Posted: 2022/12/14 12:20
by Hoonilotus
OS : Windows10
Unityバージョン : 2021.3.6f1
Arborバージョン : 3.9.2
再現方法 :
BehaviourTreeをOpen Editorした後、ArborEditorをClose Tabせずに
Unityエディタ上でPlayするとFailed to unpersistエラーが300件程度発生し、シーンの中身がすべて消える
Failed to unpersist: MonoBehaviour ID: xxxxx FileID: xxxxxxxxxx
(念のためIDをマスクしています)

いきなり本題から入らせていただきますが、再現方法に記載の通り、ArborEditorをClose TabせずにPlayすると、
それを含むシーンの中身が丸ごと消失します。
もし回避策がありましたら教えていただけますと幸いです。

切り分け不足で大変申し訳ないのですが、少し弊環境が特殊かもしれず、以下に詳しい状況を記載します。
・複数シーンを加算ロードして実行
プレイヤー、マップのメッシュ、エネミーをすべて異なるシーンに配置し、加算ロードして実行しています。
BehaviourTreeが含まれるのはエネミーです。
以下のUnityForumで、複数シーンに関連する似た症状があり、複数シーン編集との相性の問題かもしれません。
https://forum.unity.com/threads/failed- ... ug.620050/
なお、Arbor3導入前には発生せず、Arbor Editorによってしか引き起こされていません。

・PlasticScmでバージョン管理
PlasticScmでバージョン管理しています。
あまり関連性はないと思いますが、使用人口が少ないので、一応記載しておきます。

・チュートリアル「AIエージェントの作り方」を実施中に発生
チュートリアルと異なるのは、
-開発中の既存のプロジェクトにArbor3を導入したこと
-敵モデル/animatorがEthanでないこと
-キャラモデルプレハブの親階層にBehaviourTreeやNavMeshAgent、Animatorをアタッチしていること
です。

本来であれば新規プロジェクトを立ち上げて、詳細に切り分けしたのちにご質問させていただくべきところ、このように質問して申し訳ありません。
まずは簡単に記載いたしましたが、上記情報以外に必要なものがあればお申しつけください。
また、Arbor自体のアップデートは特に求めず、簡単な回避策で結構ですので、お心あたりありましたら教えていただけますと幸いです。

まだ購入したばかりですが、Arbor3の機能は大変魅力的に思います。
これが解決すれば、プロジェクトの大幅な高速化が期待できます。
どうかよろしくお願いいたします。

不具合情報でお問い合わせしようか迷いましたが、切り分け不足のため、こちらで質問させていただきました。

Re: Arbor EditorをCloseTabせずにPlayするとFailed to unpersistエラーが発生する

Posted: 2022/12/14 15:20
by caitsithware
ご利用ありがとうございます。

「Failed to unpersist: MonoBehaviour ID: xxxxx FileID: xxxxxxxxxx」というエラーは今まで遭遇したことがないため対処方法はわかりません。
検索してみましたがArbor内部システムに関連しそうな情報も見つかりませんでした。

お手数おかけしますがUnity2021LTS最新での検証なども含め問題の切り分けを行い、もしそれでもArborが原因で発生するようでしたら改めて不具合報告をしていただくようお願いいたします。
お力になれず申し訳ありません。

Re: Arbor EditorをCloseTabせずにPlayするとFailed to unpersistエラーが発生する

Posted: 2022/12/14 23:50
by Hoonilotus
迅速なお返事ありがとうございます。
エラーに前例がない旨、承知いたしました。
弊環境が原因である可能性が高いため、新規プロジェクトで原因特定を試してみます。

ご対応ありがとうございました。

Re: Arbor EditorをCloseTabせずにPlayするとFailed to unpersistエラーが発生する

Posted: 2023/01/06 08:43
by Ameo
いつも対応ありがとうございます。
私の環境でも同じような症状が出たので報告いたします。

OS : Windows10
Unityバージョン : 2021.3.11f1
Arborバージョン : 3.9.1

以下の状態で再現ができました。画像:https://gyazo.com/e23ed6c2102070d64b01348494526808
1.マルチシーンを読み込んでいる(EmptySceneとSampleScene)
2.ArborFSMがアタッチされたオブジェクトがアクティブでないシーンに配置されている(SampleScene)
3.アクティブでないシーンがアクティブなシーンのヒエラルキーの並び順でに配置されている
4.ArborEditorウィンドウを開いた状態でゲームを実行し、終了時に「Failed to unpersist: オブジェクト名 ID: xxxxxx FileID: xxxxxxxx」が発生する

回避策としては
・Arborウィンドウを閉じる
・非アクティブなシーンに配置されたArborFSMを開いた状態でゲームを終了しない(アクティブなシーンなら可)

ファイルIDやシーンファイルの中身など見てみましたが、なにがunpersistになっているのか私の力不足で原因特定まではできませんでした…。
Unityエディタアップデートで自然治癒することを願います。

Re: Arbor EditorをCloseTabせずにPlayするとFailed to unpersistエラーが発生する

Posted: 2023/01/06 09:55
by caitsithware
再現手順のご報告ありがとうございます。
こちらでも再現できましたので対応いたします。

暫定対処方法

試しに原因と思われる個所をコメントアウトしたところ発生しなくなったようので方法を掲載いたします。
  • Assets/Plugins/Arbor/Intenal/Editor/Windows/ArborEditorWindow.csを開く
  • 543行目、RepairNodeGraphReferences(true);の呼び出しをコメントアウト
こちらで確認したUnityバージョンは2021.3.16f1ですので他のバージョンによっては改善できない可能性があります。
また、この変更により他の問題が発生する可能性もあります。
プレイ開始/終了時やシーン読み込みなどで他の問題が発生するようでしたら戻してください。

Re: Arbor EditorをCloseTabせずにPlayするとFailed to unpersistエラーが発生する

Posted: 2023/01/07 06:56
by Ameo
私の環境でもご提示いただいた設定でエラーが出なくなったので、適用してしばらく運用を進めてみようと思います。
また何かありましたらご報告させていただきます。
素早い対応ありがとうございました!