HotReload AssetとUniTask

以下のようなケースでは、コードを追加しても変化がない

        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が出力されるようになる。文字列変更も反映される
        }