Cysharp / UniTask

Provides an efficient allocation free async/await integration for Unity.
MIT License
8.11k stars 831 forks source link

Can't exit await when stopping Unity Editor #588

Open nyancodev opened 4 months ago

nyancodev commented 4 months ago

Unity: 2022.3.21f1 UniTask: 2.5.4

If you stop the Unity Editor with this code, it will not advance to wait3 If you destroy GameObject, proceed to wait3 Is this behavior due to the fact that PlayerLoop must be stopped in the Unity Editor?

public class Sample : MonoBehaviour
{
    public async void OnDestroy()
    {
        await UniTask.WaitUntil(() => true);
        Debug.Log("wait1");
        await UniTask.WaitUntil(() => true);
        Debug.Log("wait2");
        await UniTask.WaitUntil(() => true);
        Debug.Log("wait3");
    }
}