Hot Reload | Edit Code Without Compiling

何をするアセットか?

Hot Reload | Edit Code Without Compilingというアセットは、C#のスクリプトのコンパイル時間をなくし、即座に反映させることができるものです。エディターで実行中でも反映させたり、端末上でも変更を反映させることができるようです。

UnityではAssetsフォルダになんでも入れますが、ここにスクリプトが増えていくと、徐々にコンパイル時間が増えていきます。開発序盤は大したことがなくても、スクリプトが100とか1000とかなっていけば嫌でもコンパイルに時間がかかることを実感するでしょう。

これが1秒未満になります。

重要度

UnityでC#を書く人なら入れるべきだと思います。

コンパイル時間が10秒くらいだとしても、無意味な待ち時間があると、そこで手が止まり作業が中断します。中断されると、意外とすぐに復帰するのが面倒で作業効率が下がります。これを防げるのは相当重要だと思います。

Odin、SRDebuggerのようにプログラマーなら必須(知らない、お金払いたくない以外の理由ではいれない理由がまずない)と思えるアセットに感じました。(NGUI、Boltのように公式に取り込まれるべきと思います。)

公式

詳細は公式サイトのドキュメントを見て頂ければと思います。Unity自体の自動リフレッシュを無効化したり、エディターの設定をいじったりとちょっと面倒かもしれません。

エラーが出ていてもすでにコンパイル済みのもので実行できてしまったりする挙動が嫌だなあと思う人もいるでしょう。これは今後どうにかしてほしいところです。(エラーなら実行させないモードとか、エラー表示をするとか)現状だとHot Reloadを無効化して、Unity本来のコンパイルを行うことになるでしょう。

無料で30日間試せて、その後は1日に2時間まで使えるみたいです。毎日2時間程度までしかUnityを触らない人なら無料版でも良いかもしれません。

参考

【Unity】HotReload買ってみた感想と使い方(コンパイル時間が無くなる神アセット)

追記

エラーの表示はありました。ただこんな感じでエラーがあるというのがわかるだけでしたが……

Hot Reloadのウィンドウに出るため、このウィンドウをどこかに常駐させる方が良いと思いました。Consoleウィンドウにエラーを出してくれれば一番便利だとは思うのですが。この辺りは改善していってほしいところです。

一部コードによってはHot Reloadが対応できてないものがありますし、アセット自体のバグのような挙動もありそうです。しかしながら、メリットがとても大きいので入れない選択はありえないなと感じています。