すごく基礎的な内容だけど,
Aオブジェクトが一つだけある場合,update → LateUpdateの順番で起こることは分かる。
じゃあ,Aオブジェクト,Bオブジェクト,,,,と複数オブジェクトがあった場合,AのUpdateとBのLateUpdateはどっちが先に処理されるのかが分からなかったので調べてみた。
結果
![Main_unity_-_update_lateupdate_timing_-_PC__Mac___Linux_Standalone__Personal___OpenGL_4_1_.png](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.amazonaws.com%2F0%2F55446%2F7690094d-813a-0e45-97c5-7f5be7f52a49.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=8dfeae66bc63f93ad7e1055f9a004fd7)
- 全部のオブジェクトのStartがまず実行される
- 次に全部のオブジェクトのUpdateが実行される
- 次に全部のオブジェクトのLateUpdateが実行される
ここから考えたこと
- 複数オブジェクトの中で1つでも重いUpdateがあると,全部のオブジェクトのLateUpdateに影響する
- AオブジェクトのUpdateで計算する値は,BオブジェクトのUpdateから参照した場合まだ計算が済んでいない場合がある(各オブジェクトのUpdateの順番はランダムだから)が,BオブジェクトのLateUpdateから参照すれば必ず計算後の値が取得できる。