LoadableStatus
Describes the current loading phase of a Loadable<T> after Loadable<T>.Load or Loadable<T>.LoadAsync is used.
Read time 2 minutesLast updated 6 days ago
Definition
- Type: Enum
- Namespace: Unity.Loading
- Assembly: UnityEngine.ContentLoadModule
public enum LoadableStatus
Remarks
Query Loadable<T>.Status to drive UI or to assert that a load finished before reading Loadable<T>.Target. LoadableStatus.Failed indicates the asynchronous load completed without a usable object. This often occurs due to missing built content.
Examples
using Unity.Loading;using UnityEngine;namespace BuildDocExamples{ // Example: use LoadableStatus to react to the outcome of a load. After awaiting // LoadAsync, Status is either Loaded (Target is usable) or Failed (Target is null, // typically because the content is missing from any registered content directory). public class LoadableStatus_Example { // On success this returns Target to the caller. The caller owns the passed-in Loadable // and must call Release() on it when done using the texture. The caller // must not load or await this Loadable again before releasing it, otherwise the cached // load operation throws. public async Awaitable<Texture2D> TryGetTextureAsync(Loadable<Texture2D> icon) { // Before loading, Status is None. It becomes Loading while the operation runs. await icon.LoadAsync(); switch (icon.Status) { case LoadableStatus.Loaded: // The load succeeded and Target holds the asset. return icon.Target; case LoadableStatus.Failed: // The load completed without a usable object. Target is null. Debug.LogWarning($"Failed to load {icon}."); return null; default: // None or Loading are not expected once LoadAsync has been awaited. return null; } } }}