Open13

Unity Tips

Satoyan(中川 聡也)Satoyan(中川 聡也)

最適化

Unity エンジニアはコードチューニングをあまりしない人が多いので、Tipsとして残す

https://twitter.com/xiombatsg/status/1736946297020842493

Satoyan(中川 聡也)Satoyan(中川 聡也)

Enum のサイズを計りたい場合は

自作している場合

末尾に、Max を追加して、その値をサイズとして使う(0始まりを想定しての利用)

Satoyan(中川 聡也)Satoyan(中川 聡也)

Getter/ Setterは使うな

これ挟まるだけで遅いので、使わない
あとモジュール凝集度が損なわれて、生産性がよくないので、基本使わない

どこで使うの?

GameObject / GameComponent など Inspector に渡したいものなど
そういう明確にインターフェースとしてわかるように定義して、クラス構造を設計するのが良い。
なるべくクリーンアーキテクチャを意識する。(DDDにする必要はないけど、MVPぐらいは作ろうぜってこと)

Satoyan(中川 聡也)Satoyan(中川 聡也)

Null 合体式が使える

//null比較する三項演算子
a = b!= null? b:c;

// をこれにできる
a = B ?? C;
Satoyan(中川 聡也)Satoyan(中川 聡也)

Unity Editor の起動を早くする

Parallel Import を使う

https://baba-s.hatenablog.com/entry/2022/06/27/090000

SSDにプロジェクトを配置する

https://baba-s.hatenablog.com/entry/2022/07/11/090000

Unity Acceleratorを使う

https://docs.unity3d.com/ja/current/Manual/UnityAccelerator.html

Editor Iteration Profiler で分析する

https://github.com/Unity-Technologies/com.unity.editoriterationprofiler.git

Import Activity でインポートに時間がかかっているアセットを整理する

https://docs.unity3d.com/ja/2021.3/Manual/ImportActivityWindow.html

Compilation Visualizer を入れて、コンパイル時間を可視化する

https://github.com/needle-tools/compilation-visualizer

ドメインリロードとシーンリロードを無効にする

Project Settings > Editor > Enter Play Mode Optionsをオンにしてドメインリロードとシーンリロードを無効にする

Satoyan(中川 聡也)Satoyan(中川 聡也)

null比較は 論理演算ではなく、論理式を使う

こちらよりも

if( ClassA != null)

こちらの方が高速

if ( ClassA is not null)