『ARBOR_DISABLE_DEFAULT_EDITOR』について

Here is a forum for reporting failure to Arbor developer.
Please read the forum rules carefully and enter the information necessary to confirm the problem.

Note:
  • Please read the "Update Guide" carefully when updating Arbor.
  • The bugs that we already know are summarized in "Known Issues", so please check once.
  • Please check ReleaseNote and use the latest version if possible before reporting a bug.
  • Unity beta and alpha versions are not supported. Please use the official release version.
  • In principle, defects caused by the introduction of other assets are not supported. If you find a defect, please report it after isolating which asset is the problem.

ここは、Arbor開発者へ不具合を報告するためのフォーラムです。
フォーラムルールをよく読み、不具合確認に必要な情報を記載するようお願いします。

注意点:
  • Arborを更新する際は「アップデートガイド」をよく読み行ってください。
  • 既に把握している不具合は「既知の問題」にまとめてありますので一度確認してみてください。
  • 不具合報告をする前にReleaseNoteを確認し、なるべく最新バージョンを使用して下さい。
  • Unityのベータ版およびアルファ版はサポート対象外です。正式リリース版をご利用ください。
  • 他アセット導入による不具合は原則サポート対象外です。不具合を見つけた場合はどのアセットの問題であるか切り分けた上でのご報告をお願いいたします。

Forum rules
The items necessary for reporting are as follows.
  • OS(Required)
  • Unity version(Required)
  • Arbor version(Required)
  • How to reproduce(Required)
    The reproduction method should be described accurately so that anyone can read the same procedure.
    If you do not know the exact reproduction procedure, as long as you can remember it, so please tell us what you were doing immediately before and the last time you edited it.
  • Build platform
  • Reproduction project (Minimum configuration not including Arbor and other assets) or video

Note:
  • Please read the "Update Guide" carefully when updating Arbor.
  • The bugs that we already know are summarized in "Known Issues", so please check once.
  • Please check ReleaseNote and use the latest version if possible before reporting a bug.
  • Unity beta and alpha versions are not supported. Please use the official release version.
  • In principle, defects caused by the introduction of other assets are not supported. If you find a defect, please report it after isolating which asset is the problem.

報告に必要な項目は以下の通りです。
  • OS(必須)
  • Unityバージョン(必須)
  • Arborバージョン(必須)
  • 再現方法(必須)
    再現方法については、誰が読んでも同様の手順を行えるよう正確に記述するようにお願いいたします。
    もし正確な再現手順が不明な場合、覚えている限りで構いませんので直前に行っていたことや最後に編集した時のことを教えてください。
  • ビルドプラットフォーム
  • 再現プロジェクト(Arborや他アセットなどを含まない最小構成)もしくは動画

注意点:
  • Arborを更新する際は「アップデートガイド」をよく読み行ってください。
  • 既に把握している不具合は「既知の問題」にまとめてありますので一度確認してみてください。
  • 不具合報告をする前にReleaseNoteを確認し、なるべく最新バージョンを使用して下さい。
  • Unityのベータ版およびアルファ版はサポート対象外です。正式リリース版をご利用ください。
  • 他アセット導入による不具合は原則サポート対象外です。不具合を見つけた場合はどのアセットの問題であるか切り分けた上でのご報告をお願いいたします。
user

『ARBOR_DISABLE_DEFAULT_EDITOR』について

Post by user »

各種バージョン
Arbor:3.8.3
Unity:2020.3.12f

使用エディタ拡張:
Odin:3.0.7

お世話になっております。
今回、不具合と思われる症状を発見したため、報告させていただきます。

・不具合と思わしき症状
1.Define Symbols定義時にエラーが発生
2.エディタ拡張の変更が行われていない

・対処および報告
マニュアルによるとScriptable Define Symbolsに『ARBOR_DISABLE_DEFAULT_EDITOR』を追加することで、エディタ拡張の変更を行えるようですが、実際に追加してみるとエラーが発生し利用することが出来ません。

エラー内容:
Assets\Plugins\Arbor\Internal\Editor\BehaviourEditorGUI.cs(171,64): error CS0246: The type or namespace name 'NodeBehaviourDefaultEditor' could not be found (are you missing a using directive or an assembly reference?)

恐らく、エラーの原因はクラスそのものを#ifで囲っていたことによって、条件を満たさない場合にクラス自体が存在しない状態になってしまったせいかと思われます。
そこで、勝手ながら個人的にエラー部分の対処(クラスの内部だけをif定義)をしてみたところ、エラーを解消することができました。
しかし、エラー自体はなくなったものの、エディタ拡張の変更は正常に行われていないように思えます。
もしかすると、仕様を勘違いしているだけかもしれません。
お手数ですが、ご確認いただけると幸いです。
User avatar
caitsithware
管理人
Posts: 493
Joined: 2015/08/17 12:41

Re: 『ARBOR_DISABLE_DEFAULT_EDITOR』について

Post by caitsithware »

ご報告ありがとうございます。

エラーについては再現できましたので修正いたします。

暫定対処方法:
  • Assets/Plugins/Arbor/Internal/Editor/BehaviourEditorGUI.csを開く
  • 171行目を以下のように変更する。

    Code: Select all

    if (editorScriptType != null
    #if !ARBOR_DISABLE_DEFAULT_EDITOR
    	&& editorScriptType != typeof(NodeBehaviourDefaultEditor)
    #endif
    	)
ARBOR_DISABLE_DEFAULT_EDITORついては、

Code: Select all

[CustomEditor(typeof(MonoBehaviour), true)]
上記のようなエディタ拡張を作成していれば、そのエディタ拡張を利用するための設定となっています。
このようなエディタ拡張を作成していない&個別スクリプトのエディタ拡張も作成していないのであれば、Unity標準のエディタ拡張が利用されますがArborデフォルトのエディタ拡張と基本的には違いはありません。

特に「Odin - Inspector and Serializer」を使用する場合は、Odinは上記コードのように設定しているエディタ拡張があるため、それを有効にしたい場合にArbor側のデフォルトエディタ拡張を無効にする、といった感じで利用する想定です。
(つまりOdinはArbor上のエディタ拡張にまで影響を与えてくるため、サポートの観点からユーザーに故意に有効/無効を切り替えさせるための設定)
Arbor側はデフォルトエディタの有効/無効を切り替えているだけですので、Odin等の利用に不明点があればそのアセット側のサポートへお問い合わせください。
たとえ他社製アセットの仕様変更等がありArbor側のエディタに反映されなくなったとしてもこちらとしてはサポートできませんので、その点はご理解ください。

また自作した各挙動スクリプトのエディタ拡張をする場合は基本的にはARBOR_DISABLE_DEFAULT_EDITORを設定する必要はなく、普通にエディタ拡張していただければ反映されます。
エディタ拡張の方法についてはUnity公式マニュアルなどを参照してください。
このように個別に自作したエディタ拡張があれば、原則としてそのエディタ拡張が利用されますので、Odin等の機能は反映されなくなるかと思います。
Arborの組み込みスクリプトはエディタ拡張も自作しているものがほとんどですので、ARBOR_DISABLE_DEFAULT_EDITORを設定してOdin等を利用してもほとんどのエディタは変化しません。

もしArbor側が原因で自作したエディタ拡張が反映されていないようであれば詳細もご報告いただけると助かります。
User avatar
caitsithware
管理人
Posts: 493
Joined: 2015/08/17 12:41

Re: 『ARBOR_DISABLE_DEFAULT_EDITOR』について

Post by caitsithware »

user wrote: 2021/08/10 13:27クラスの内部だけをif定義
ここを見落としておりました。
NodeBehaviourDefaultEditorのOnInspectorGUI()メソッドだけ#ifで囲って無効化ということですね。

前述の通り、CustomEditorが指定されているとそのエディタ拡張が利用されるため、OnInspectorGUI()メソッドだけ無効にしても正常に切り替わりません。
NodeBehaviourDefaultEditorへの個人的対処は元に戻していただき、暫定対処方法にあるようにコンパイルエラー発生個所のif文を修正していただくことでOdin等のエディタ拡張が反映されるようになるかと思います。
(実際に反映されるかどうかは利用アセット側の問題であるためこちらからは保証は致しません)
user

Re: 『ARBOR_DISABLE_DEFAULT_EDITOR』について

Post by user »

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

迅速に対応していただき、ありがとうございます。
ご連絡の通り修正してみたところ、正常に動作していることが確認できました。
※ARBOR_DISABLE_DEFAULT_EDITORを設定することで、Odinによるエディタ拡張が実行される。

細かな検証は行っていないため、その他のエディタ拡張による影響は確認できていませんが、少なくとも現在の自身の利用範囲においてはエディタ拡張の挙動は問題ありませんでした。
恐らく、Arbor側による問題は解消されたように思われます。
あくまで簡易的な確認ではありますが、暫定的な対処法および修正アップデートなどの際の参考にしていただけると幸いです。

この度は不具合の対応をしていただき、ありがとうございました。
User avatar
caitsithware
管理人
Posts: 493
Joined: 2015/08/17 12:41

Re: 『ARBOR_DISABLE_DEFAULT_EDITOR』について

Post by caitsithware »

Arbor 3.8.4にて修正いたしました。
アセットストアから再DLし、リリースノートやreadme記載の更新手順に従って再インポートしてください。
Arbor 3.8.4 リリース | Arbor 3

これにてこのトピックはクローズといたします。
Locked