LoadFromFileAsync
Asynchronously loads an AssetBundle from a file on disk.
Read time 3 minutesLast updated 4 days ago
Definition
- Type: Method
- Namespace: UnityEngine
- Assembly: UnityEngine.AssetBundleModule
LoadFromFileAsync(string)
Asynchronously loads an AssetBundle from a file on disk.
public static AssetBundleCreateRequest LoadFromFileAsync(string path)
Parameters
Path of the file on disk.
Returns
Type | Description |
|---|---|
| AssetBundleCreateRequest | Asynchronous load request for an AssetBundle. Use _assetBundle property to get an AssetBundle once it is loaded. |
Remarks
The function supports bundles of any compression type. In case of LZMA compression, the data will be decompressed to the memory. See AssetBundles compression for more details.
This is the fastest way to load an AssetBundle.
Additional Resources: AssetBundleCreateRequest, AssetBundle.LoadFromFile
Examples
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); }}
LoadFromFileAsync(string, uint)
Asynchronously loads an AssetBundle from a file on disk.
public static AssetBundleCreateRequest LoadFromFileAsync(string path, uint crc)
Parameters
Returns
Type | Description |
|---|---|
| AssetBundleCreateRequest | Asynchronous load request for an AssetBundle. Use _assetBundle property to get an AssetBundle once it is loaded. |
Remarks
The function supports bundles of any compression type. In case of LZMA compression, the data will be decompressed to the memory. See AssetBundles compression for more details.
This is the fastest way to load an AssetBundle.
Additional Resources: AssetBundleCreateRequest, AssetBundle.LoadFromFile
Examples
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); }}
LoadFromFileAsync(string, uint, ulong)
Asynchronously loads an AssetBundle from a file on disk.
public static AssetBundleCreateRequest LoadFromFileAsync(string path, uint crc, ulong offset)
Parameters
Path of the file on disk.
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.
An optional byte offset. This value specifies where to start reading the AssetBundle from.
Returns
Type | Description |
|---|---|
| AssetBundleCreateRequest | Asynchronous load request for an AssetBundle. Use _assetBundle property to get an AssetBundle once it is loaded. |
Remarks
The function supports bundles of any compression type. In case of LZMA compression, the data will be decompressed to the memory. See AssetBundles compression for more details.
This is the fastest way to load an AssetBundle.
Additional Resources: AssetBundleCreateRequest, AssetBundle.LoadFromFile
Examples
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); }}