すらいむ 様
ご質問ありがとうございます。
お世話になっております。SS6Player for Unity(SS6PU)開発担当です。
[ExecuteInEditMode]の付与につきましては、大枠下記の理由になります。
1. SS6PUのアニメーションオブジェクトを置いた時の初期表示を行うため
SS6PUのアニメーションは、MeshRendererを使用して「プログラム的に3Dモデルを作り出して」表示されているため、アニメーションオブジェクトを最初にシーンに置いた時などにスクリプトが走っていないと(描画するための3Dモデルデータが生成されないため)表示されない状態が起こります。
これを回避するための同属性を付与しています。
2. 「インスタンス」「エフェクト」のアニメーションの初期設置のため
1と同様に、親のアニメーションから自動的に(アニメーションの初期化時に)instantiateしている子アニメーション(インスタンス・エフェクト)の初期設置を行う必要があるためです。
3. 「制御用プレハブ」がアニメーションを展開するため
上記の2とほぼ同様になりますが……
「(アニメーション名)_Control」という名前でインポート時に生成される「アニメーションオブジェクトの親に空のGameObjectが付いている」プレハブがありますが、こちらが(プレハブのネストに対応していなかった頃との互換性の関係から)専用スクリプトの内部からアニメーションオブジェクトをシーン上にinstantiateしております。
そのinstantiateした直後に(動的に生成された)アニメーションオブジェクト自身が初期化処理(初期表示)を行う必要があるため、同属性が付与されています。
というのが主な理由となっております。
基本的に、様々な要因から、エディタ上での(プレイモードなどで実行していない時に)表示されない(or 表示がおかしい)……というようなことで困らないのであれば、同属性は削除なりコメントアウトなりで外してしまっても、基本的には大丈夫なんじゃないかと思います。
何卒今後ともよろしくお願いいたします。
追伸:
改修されている点でどのあたりが[ExecuteInEditMode]が付いていると不都合になったか……などをご質問いただければ、ひょっとするとそちらの不都合を解消した方が良い場合もあるかな?などと思ったりします。
もし、支障がなければ(守秘などが絡んだりしてここで聞きづらいなどという場合などもあり得るかと思います)、サポート経由ででも情報いただけますと何か助言に類することができたりするかもしれません。