# AwaitableCompletionSource<T>

> Objects allowing to control completion of an Awaitable object from user code.

## Definition

* **Type:** Class
* **Namespace:** [UnityEngine](/engine/6000.3/script-reference/unityengine.md)
* **Assembly:** UnityEngine.CoreModule

```csharp
public class AwaitableCompletionSource<T>
```

## Properties

| Property                                                                                         | Description                                            |
| ------------------------------------------------------------------------------------------------ | ------------------------------------------------------ |
| [Awaitable](/engine/6000.3/script-reference/unityengine/awaitablecompletionsource1/awaitable.md) | Get the awaitable controlled by the completion source. |

## Methods

| Method                                                                                                       | Description                                                                                   |
| ------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------- |
| [Reset](/engine/6000.3/script-reference/unityengine/awaitablecompletionsource1/reset.md)                     | Reset the completion source (this will set the Awaitable property to a new Awaitable object). |
| [SetCanceled](/engine/6000.3/script-reference/unityengine/awaitablecompletionsource1/setcanceled.md)         | Raise cancellation.                                                                           |
| [SetException](/engine/6000.3/script-reference/unityengine/awaitablecompletionsource1/setexception.md)       | Raise completion with an exception.                                                           |
| [SetResult](/engine/6000.3/script-reference/unityengine/awaitablecompletionsource1/setresult.md)             | Raise completion.                                                                             |
| [TrySetCanceled](/engine/6000.3/script-reference/unityengine/awaitablecompletionsource1/trysetcanceled.md)   | Raise cancellation (returns false if the awaitable was already completed or canceled).        |
| [TrySetException](/engine/6000.3/script-reference/unityengine/awaitablecompletionsource1/trysetexception.md) | Raise completion with an exception.                                                           |
| [TrySetResult](/engine/6000.3/script-reference/unityengine/awaitablecompletionsource1/trysetresult.md)       | Raise the awaitable completion.                                                               |
