DownloadHandlerAssetBundle
Standard constructor for non-cached asset bundles.
Read time 5 minutesLast updated 10 days ago
Definition
- Type: Constructor
- Namespace: UnityEngine.Networking
- Assembly: UnityEngine.UnityWebRequestAssetBundleModule
DownloadHandlerAssetBundle(string, uint)
Standard constructor for non-cached asset bundles.
public DownloadHandlerAssetBundle(string url, uint crc)
Parameters
Remarks
This constructor will bypass the caching system and simply download the AssetBundle from url.
If the crc argument is non-zero, then the crc argument will be compared to the checksum of the downloaded data. If the CRCs do not match, an error will be logged, the asset bundle will not be loaded, and DownloadHandlerAssetBundle.assetBundle will return .
nullIf you do not wish to use CRC integrity checking, pass zero as the crc argument.
Examples
using System.Collections;using UnityEngine;using UnityEngine.Networking;public class Example : MonoBehaviour{ IEnumerator Start() { string url = "https://website.com/assetbundle"; using (var uwr = new UnityWebRequest(url, UnityWebRequest.kHttpVerbGET)) { uwr.downloadHandler = new DownloadHandlerAssetBundle(url, 0); yield return uwr.SendWebRequest(); AssetBundle bundle = DownloadHandlerAssetBundle.GetContent(uwr); //Unload the AssetBundle bundle.Unload(true); } }}
DownloadHandlerAssetBundle(string, uint, uint)
Simple versioned constructor. Caches downloaded asset bundles.
public DownloadHandlerAssetBundle(string url, uint version, uint crc)
Parameters
Remarks
When this constructor is used, the DownloadHandlerAssetBundle will first check to see if there is a cached AssetBundle from url.
If there is no cached asset bundle, or if the cached asset bundle's version matches the version argument, then the system will skip downloading the asset bundle and instead load it from the cache.
If there is a cached asset bundle, but the cached bundle's version does not match the version argument, then the system will re-download the asset bundle from url.
If the crc argument is non-zero, then the crc argument will be compared to the checksum of the downloaded data. If the CRCs do not match, an error will be logged, the asset bundle will not be loaded, and DownloadHandlerAssetBundle.assetBundle will return .
nullIf you do not wish to use CRC integrity checking, pass zero as the crc argument.
DownloadHandlerAssetBundle(string, Hash128, uint)
Versioned constructor. Caches downloaded asset bundles.
public DownloadHandlerAssetBundle(string url, Hash128 hash, uint crc)
Parameters
Remarks
When this constructor is used, the DownloadHandlerAssetBundle will first check to see if there is a cached AssetBundle from url.
If there is no cached asset bundle, or if the cached asset bundle's hash matches the hash argument, then the system will skip downloading the asset bundle and instead load it from the cache.
If there is a cached asset bundle, but the cached bundle's hash does not match the hash argument, then the system will re-download the asset bundle from url.
If the crc argument is non-zero, then the crc argument will be compared to the checksum of the downloaded data. If the CRCs do not match, an error will be logged, the asset bundle will not be loaded, and DownloadHandlerAssetBundle.assetBundle will return .
nullIf you do not wish to use CRC integrity checking, pass zero as the crc argument.
DownloadHandlerAssetBundle(string, string, Hash128, uint)
Versioned constructor. Caches downloaded asset bundles to a customized cache path.
public DownloadHandlerAssetBundle(string url, string name, Hash128 hash, uint crc)
Parameters
The nominal (pre-redirect) URL at which the asset bundle is located.
AssetBundle name which is used as the customized cache path.
A hash object defining the version of the asset bundle.
A checksum to compare to the downloaded data for integrity checking, or zero to skip integrity checking.
Remarks
Cached AssetBundles are uniquely identified solely by the filename and version. All domain and path information in url is ignored by Caching. Since cached AssetBundles are identified by filename instead of the full URL, you can change the directory from where the asset bundle is downloaded at any time. This is useful for pushing out new versions of the game and ensuring that files are not cached incorrectly by the browser or by a CDN.
Usually using the filename of the AssetBundle to generate the cache path is fine. But if there are different AssetBundles with the same last file name, cache conflicts happens. With CachedAssetBundle struct, you can use CachedAssetBundle.name to customized the cache path to avoid the cache conflicts. You can also utilize this to organize the cache data structure.
DownloadHandlerAssetBundle(string, CachedAssetBundle, uint)
Versioned constructor. Caches downloaded asset bundles to a customized cache path.
public DownloadHandlerAssetBundle(string url, CachedAssetBundle cachedBundle, uint crc)
Parameters
The nominal (pre-redirect) URL at which the asset bundle is located.
A structure used to download a given version of AssetBundle to a customized cache path.
A checksum to compare to the downloaded data for integrity checking, or zero to skip integrity checking.
Remarks
Cached AssetBundles are uniquely identified solely by the filename and version. All domain and path information in url is ignored by Caching. Since cached AssetBundles are identified by filename instead of the full URL, you can change the directory from where the asset bundle is downloaded at any time. This is useful for pushing out new versions of the game and ensuring that files are not cached incorrectly by the browser or by a CDN.
Usually using the filename of the AssetBundle to generate the cache path is fine. But if there are different AssetBundles with the same last file name, cache conflicts happens. With CachedAssetBundle struct, you can use CachedAssetBundle.name to customized the cache path to avoid the cache conflicts. You can also utilize this to organize the cache data structure.