path | Path of the file on disk. |
crc | An optional CRC-32 checksum of the uncompressed content. If this is non-zero, then the content will be compared against the checksum before loading it, and give an error if it does not match. |
offset | An optional byte offset. This value specifies where to start reading the AssetBundle from. |
AssetBundleCreateRequest Asynchronous create request for an AssetBundle. Use assetBundle property to get an AssetBundle once it is loaded.
Asynchronously loads an AssetBundle from a file on disk.
The function supports bundles of any compression type.
In case of lzma compression, the data will be decompressed to the memory. Uncompressed and chunk-compressed bundles can be read directly from disk.
This is the fastest way to load an AssetBundle.
// Load asset bundles in the background whilst other tasks can be made. #pragma strict
import System.IO;
public class LoadFromFileAsyncExample extends MonoBehaviour {
function Start() { var bundleLoadRequest = AssetBundle.LoadFromFileAsync(Path.Combine(Application.streamingAssetsPath, "myassetBundle")); yield bundleLoadRequest;
var myLoadedAssetBundle = bundleLoadRequest.assetBundle; if (myLoadedAssetBundle == null) { Debug.Log("Failed to load AssetBundle!"); return; } var assetLoadRequest = myLoadedAssetBundle.LoadAssetAsync.<GameObject>("MyObject"); yield assetLoadRequest;
var prefab: GameObject = assetLoadRequest.asset as GameObject; Instantiate(prefab);
myLoadedAssetBundle.Unload(false);
} }
using UnityEngine; using System.Collections; using System.IO;
public class LoadFromFileAsyncExample : MonoBehaviour { IEnumerator Start () { var bundleLoadRequest = AssetBundle.LoadFromFileAsync(Path.Combine(Application.streamingAssetsPath, "myassetBundle")); yield return bundleLoadRequest; var myLoadedAssetBundle = bundleLoadRequest.assetBundle; if (myLoadedAssetBundle == null) { Debug.Log("Failed to load AssetBundle!"); yield break; }
var assetLoadRequest = myLoadedAssetBundle.LoadAssetAsync<GameObject>("MyObject"); yield return assetLoadRequest;
GameObject prefab = assetLoadRequest.asset as GameObject; Instantiate(prefab);
myLoadedAssetBundle.Unload(false); } }
See Also: AssetBundleCreateRequest, LoadFromFile.