■質問内容
開発中のプロジェクトでLogic Toolkitでノードを作成しようとするとノード選択画面がLoading...から進みません
新規のプロジェクトを作成してサンプルゲームを開くと事象が再現しない(ノードを選択できる)ため、環境依存かと思いますが、
コンソールにログなども表示されておらず原因の特定方法が見つからない状況です
Libraryフォルダの削除をして再度Logic Toolkitの起動をしてみましたが駄目でした
なにかここを調べたほうが良いというご助言いただけるようでしたらお願いします
■環境
・Logic Toolkitバージョン:1.4.0
・Unityバージョン:6000.0.26f1
■手順
・ゲームオブジェクトにLogic Behaviorをアタッチし、Editボタンからノード作成画面を開く
・何もないところを右クリックしてCreate Nodeをクリックする
・ノード選択画面が表示されLoading...から進まない
※Event Definitionsから新しいイベントを作成した際に、型選択も「Int32」で止まってしまい選択できません
ノードを作成しようとするとノード選択画面がLoading...から進まない
- caitsithware
- 管理人
- Posts: 68
- Joined: 2024/03/26 01:56
Re: ノードを作成しようとするとノード選択画面がLoading...から進まない
新規プロジェクトでは開けるということですので、導入している他アセットなどによって起きている可能性があります。
ノードの選択画面などを初めて開くとアセンブリ(DLL)から型情報を読み込んでいますので、アセンブリに特殊な処理(例えばホットリロードなど)を行っているアセットが導入されていたりすると正常に読み込めないかもしれません。
もしそのようなアセットを導入していましたら一度削除してみてください。
他には何らかの型が特殊な相互参照を行っており型情報の読み出しが無限ループに陥っている可能性も考えられます。
その場合は根本的にはLogic Toolkitの不具合なのですが、どのような型が原因かの特定方法は複雑ですのでここでの説明は難しいかと思います。
こちらでも調査してみます。
■問題の切り分けについての追記
パッケージやアセット、OSSや自作スクリプトなどのどれを導入したことによって発生しているかの切り分けはユーザー様各自で行ってください。
パッケージなどの組み合わせは膨大であり有料なものもあります。それらすべてをこちらで検証するのは難しいためご理解ください。
Unity公式パッケージの導入によって問題が発生する場合は、そのパッケージを教えていただければ対応いたします。
Unity公式パッケージ以外の導入によって問題が発生している場合は、発生原因がLogic Toolkit側の不具合にあると確認できましたらその時に改めて不具合報告をお願いいたします。
ノードの選択画面などを初めて開くとアセンブリ(DLL)から型情報を読み込んでいますので、アセンブリに特殊な処理(例えばホットリロードなど)を行っているアセットが導入されていたりすると正常に読み込めないかもしれません。
もしそのようなアセットを導入していましたら一度削除してみてください。
他には何らかの型が特殊な相互参照を行っており型情報の読み出しが無限ループに陥っている可能性も考えられます。
その場合は根本的にはLogic Toolkitの不具合なのですが、どのような型が原因かの特定方法は複雑ですのでここでの説明は難しいかと思います。
こちらでも調査してみます。
■問題の切り分けについての追記
パッケージやアセット、OSSや自作スクリプトなどのどれを導入したことによって発生しているかの切り分けはユーザー様各自で行ってください。
パッケージなどの組み合わせは膨大であり有料なものもあります。それらすべてをこちらで検証するのは難しいためご理解ください。
Unity公式パッケージの導入によって問題が発生する場合は、そのパッケージを教えていただければ対応いたします。
Unity公式パッケージ以外の導入によって問題が発生している場合は、発生原因がLogic Toolkit側の不具合にあると確認できましたらその時に改めて不具合報告をお願いいたします。
Re: ノードを作成しようとするとノード選択画面がLoading...から進まない
承知しました、アセット削除して切り分けしてみます!
Re: ノードを作成しようとするとノード選択画面がLoading...から進まない
切り分けの結果、開発プロジェクトからUniTaskをRemoveしてUnityを再起動するとLogic Toolkitでノードが正常に表示されることを確認しました。
合わせて、新規プロジェクトでLogic Toolkitのサンプルゲームを開き、以下の手順でUniTaskをインストールすると事象が再現することを確認しました。この時のUniTaskのバージョンは2.5.10でした。
https://github.com/Cysharp/UniTask?tab= ... pm-package
ただ、申し訳ないのですがUniTaskかLogic Toolkitのどちらに原因があるかの切り分けは私の力では難しいためこれ以上の調査は行えない状況です。
UniTaskは既にスクリプト内で使用しており今後開発でも使用予定のため、一旦別手段で開発を行うようにします。申し訳ありません。
合わせて、新規プロジェクトでLogic Toolkitのサンプルゲームを開き、以下の手順でUniTaskをインストールすると事象が再現することを確認しました。この時のUniTaskのバージョンは2.5.10でした。
https://github.com/Cysharp/UniTask?tab= ... pm-package
ただ、申し訳ないのですがUniTaskかLogic Toolkitのどちらに原因があるかの切り分けは私の力では難しいためこれ以上の調査は行えない状況です。
UniTaskは既にスクリプト内で使用しており今後開発でも使用予定のため、一旦別手段で開発を行うようにします。申し訳ありません。
- caitsithware
- 管理人
- Posts: 68
- Joined: 2024/03/26 01:56
Re: ノードを作成しようとするとノード選択画面がLoading...から進まない
切り分け調査ありがとうございました。
UniTaskであればDLLに特殊な処理を行っていないと思いますので、何らかの原因で型情報の読み込みが無限ループしている可能性の不具合として調査いたします。
UniTaskであればDLLに特殊な処理を行っていないと思いますので、何らかの原因で型情報の読み込みが無限ループしている可能性の不具合として調査いたします。
- caitsithware
- 管理人
- Posts: 68
- Joined: 2024/03/26 01:56
Re: ノードを作成しようとするとノード選択画面がLoading...から進まない
ひとまずUniTask 2.5.10における無限ループ発生箇所を特定いたしました。
暫定対処方法
ただし似たメソッド定義がUniTask以外にもある場合は引き続き無限ループが発生する可能性があります。
その場合は修正更新をお待ちください。
暫定対処方法
- Packages/Logic Toolkit/Editor/Metadata/MonoCecilMetadataBuilder.cs をコードエディタで開く
- 1593行目に以下のコードを追加
Code: Select all
if (method.FullName == "Cysharp.Threading.Tasks.UniTask`1<System.ValueTuple`2<System.Boolean,T>> Cysharp.Threading.Tasks.UniTask`1::SuppressCancellationThrow()") { continue; }
ただし似たメソッド定義がUniTask以外にもある場合は引き続き無限ループが発生する可能性があります。
その場合は修正更新をお待ちください。
Re: ノードを作成しようとするとノード選択画面がLoading...から進まない
ありがとうございます、1.4.1に更新して事象解消しました!!
使わせていただきます!!
使わせていただきます!!