AssetBundle.LoadFromFileAsync
https://docs.unity3d.com/ScriptReference/AssetBundle.LoadFromFileAsync.html
public static AssetBundleCreateRequest LoadFromFileAsync(string path, uint crc, ulong offset);
Parameters
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. |
Returns
AssetBundleCreateRequest Asynchronous create request for an AssetBundle. Use assetBundle property to get an AssetBundle once it is loaded.
Description
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.
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); } }