Struct AsyncOperationHandle
Non typed operation handle. This allows for reference counting and checking for valid references.
Implements
Inherited Members
Namespace: UnityEngine.ResourceManagement.AsyncOperations
Assembly: Unity.ResourceManager.dll
Syntax
public struct AsyncOperationHandle : IEnumerator
Properties
Name | Description |
---|---|
DebugName | Debug name of the operation. |
IsDone | True if the operation is complete. |
IsWaitingForCompletion | Indicates that the async operation is in the process of being completed synchronously. |
OperationException | The exception for a failed operation. This will be null unless Status is failed. |
PercentComplete | The progress of the internal operation. This is evenly weighted between all sub-operations. For example, a LoadAssetAsync call could potentially be chained with InitializeAsync and have multiple dependent operations that download and load content. In that scenario, PercentComplete would reflect how far the overal operation was, and would not accurately represent just percent downloaded or percent loaded into memory. For accurate download percentages, use GetDownloadStatus(). |
Result | The result object of the operations. |
Status | The status of the internal operation. |
Task | Return a Task object to wait on when using async await. |
Methods
Name | Description |
---|---|
Convert<T>() | Converts handle to be typed. This does not increment the reference count. To convert back to non-typed, implicit conversion is available. |
Equals(AsyncOperationHandle) | Provide equality for this struct. |
GetDependencies(List<AsyncOperationHandle>) | Get dependency operations. |
GetDownloadStatus() | Return the current download status for this operation and its dependencies. In some instances, the information will not be available. This can happen if the operation is dependent on the initialization operation for addressables. Once the initialization operation completes, the information returned will be accurate. |
GetHashCode() | Get hash code of this struct. |
IsValid() | Check if the internal operation is not null and has the same version of this handle. |
Release() | Release the handle. If the internal operation reference count reaches 0, the resource will be released. |
ReleaseHandleOnCompletion() | Automatically release this handle upon Completed callback |
WaitForCompletion() | Synchronously complete the async operation. |
Events
Name | Description |
---|---|
Completed | Completion event for the internal operation. If this is assigned on a completed operation, the callback is deferred until the LateUpdate of the current frame. |
Destroyed | Event for handling the destruction of the operation. |