[ExecuteAlways]のオブジェクトでは
先にインスペクタによる値の設定でOnValidate()が呼ばれる
ここで別オブジェクトを使いたいがエラー
Awake()が呼ばれ
Start()が呼ばれない

同じログがいっぱい出て正確な順番はわからず推測あり

使いたい別オブジェクトのAwake()がようやく呼ばれる

[ExecuteAlways]のオブジェクトで
Awake()やOnValidate()では何もせず
Update()でAwake()やOnValidate()と同じことをすればいいのかな

だが納得いかない
[ExecuteAlways]ではないときとはかなり違う挙動
必ず先に別オブジェクトを実行する方法ないのかなあ
2018.4.22f1