# AwaitableCompletionSource

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

## Definition

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

```csharp
public class AwaitableCompletionSource
```

## Properties

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

## Methods

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