How aggregate awaiters work in UE5Coro
masterAggregate awaiters allow you to combine multiple awaitables or TCoroutine objects into a single co_await operation. They support expedited cancellation and are designed so that once the first await completes, subsequent awaits of the same result return the value synchronously on the calling thread.
Threading Behavior
- Standard Awaiters (
WhenAny,WhenAll,Race): The coroutine resumes on a thread corresponding to one of the input parameters or the thread that canceled the coroutine. If all inputs resume on the game thread and no cross-thread cancellation occurs, the aggregate is guaranteed to resume on the game thread. - Latent Awaiters (
Latent::WhenAny,Latent::WhenAll): These always resume on the game thread.
Completion
Completion includes unsuccessful completions (e.g., failures or cancellations).