Represents a request for On Demand Resources (ODR). It's an AsyncOperation and can be yielded in a coroutine.
NOTE: only available on iOS.
Creating an OnDemandResourcesRequest is equivalent to calling NSBundleResourceRequest.beginAccessingResourcesWithCompletionHandler. The request will keep ODR resource alive until either Dispose() is called or request object is collected by a garbage collector, which is equivalent of calling NSBundleResourceRequest.endAccessingResources class.
static class Loader
{
public static IEnumerator LoadAsset(string resourceName)
{
// Create the request
var request = OnDemandResources.PreloadAsync(new string[] { "Asset's ODR tag" });
// Wait until request is completed
yield return request;
// Check for errors
if (request.error != null)
throw new Exception("ODR request failed: " + request.error);
// Get path to the resource and use it
var path = request.GetResourcePath(resourceName);
// Call Dispose() when resource is no longer needed.
request.Dispose();
}
}
| error | Returns an error after operation is complete. |
| loadingPriority | Sets the priority for request. |
| Dispose | Release all resources kept alive by On Demand Resources (ODR) request. |
| GetResourcePath | Gets file system's path to the resource available in On Demand Resources (ODR) request. |
| allowSceneActivation | Allow scenes to be activated as soon as it is ready. |
| isDone | Has the operation finished? (Read Only) |
| priority | Priority lets you tweak in which order async operation calls will be performed. |
| progress | What's the operation's progress. (Read Only) |