以下のようなケースでは、コードを追加しても変化がない
private async UniTask Start() { while (true) { Debug.Log("hoge");//後から追加しても反応しない。文字列変更も反映されない。 await UniTask.Yield(); } }
UniTask内であっても、以下のように呼ばれ直すような場合は大丈夫
private void Update() { Hoge().Forget(); } private async UniTask Hoge() { Debug.Log("hoge");//後から追加しても、ちゃんとhogeが出力されるようになる。文字列変更も反映される await UniTask.Yield(); }
HotReloadは関数が呼びなおしされるっぽいので、以下のようにしておけば反映される。できるだけ細かく関数に分けておくようにすると良さそう。
private async UniTask Start() { while (true) { PrintHoge(); await UniTask.Yield(); } } private void PrintHoge() { Debug.Log("hoge"); //後から追加しても、ちゃんとhogeが出力されるようになる。文字列変更も反映される }