Version: 2023.2
LanguageEnglish
  • C#

OnDemandResourcesRequest

class in UnityEngine.iOS

/

Inherits from:AsyncOperation

/

Implemented in:UnityEngine.CoreModule

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

Description

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 the on demand resource alive until either Dispose() is called or the request object is collected by a garbage collector, which is the equivalent of calling NSBundleResourceRequest.endAccessingResources .

using UnityEngine;
using UnityEngine.iOS;
using System;
using System.Collections;

public 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); Debug.Log(path);

// Call Dispose() when resource is no longer needed. request.Dispose(); } }

Properties

errorReturns an error after operation is complete.
loadingPrioritySets the priority for request.

Public Methods

DisposeRelease all resources kept alive by On Demand Resources (ODR) request.
GetResourcePathGets file system's path to the resource available in On Demand Resources (ODR) request.

Inherited Members

Properties

allowSceneActivationAllow Scenes to be activated as soon as it is ready.
isDoneHas the operation finished? (Read Only)
priorityPriority lets you tweak in which order async operation calls will be performed.
progressWhat's the operation's progress. (Read Only)

Events

completedEvent that is invoked upon operation completion. An event handler that is registered in the same frame as the call that creates it will be invoked next frame, even if the operation is able to complete synchronously. If a handler is registered after the operation has completed and has already invoked the complete event, the handler will be called synchronously.