Version: 2023.2
LanguageEnglish
  • C#

Awaitable

class in UnityEngine

/

Implemented in:UnityEngine.CoreModule

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

Description

Awaitable type used to expose asynchronous code, as well as an async return type specifically tailored for Unity.

private async Awaitable DoSomethingAsync()
{
   await LoadSceneAsync("SomeScene");
   await SomeApiReturningATask();
   await Awaitable.NextFrameAsync();
   // <...>
}

Properties

IsCompletedIndicates if the awaitable has run to completion.

Public Methods

CancelCancel the awaitable. If the awaitable is being awaited, the awaiter will get a System.OperationCanceledException.

Static Methods

BackgroundThreadAsyncResumes execution on a ThreadPool background thread. If the caller is already on a background thread, it will complete immediately.
EndOfFrameAsyncAwaitable resuming after all Unity subsystem have run for the current frame.
FixedUpdateAsyncAwaitable resuming on the next fixed update frame (see Time.fixedDeltaTime).
FromAsyncOperationCreates an Awaitable from an existing AsyncOperation object.
MainThreadAsyncResumes execution on the Unity main thread. If the caller is already on the main thread, it will complete immediately.
NextFrameAsyncAwaitable resuming on next frame.
WaitForSecondsAsyncAwaitable resuming after the specified number of seconds.