AssetBundles let you stream additional assets via the UnityWebRequest class and instantiate them at runtime. AssetBundles are created via BuildPipeline.BuildAssetBundle.
Note that bundles are not compatible between platforms. A bundle built for any of the standalone
platforms can only be loaded on that platform but not others.
Further example, a bundle built for iOS is not compatible with Android and vice versa. One difference
is shaders which are different between devices, as are textures.
See Also: UnityWebRequestAssetBundle.GetAssetBundle, Loading Resources at Runtime, BuildPipeline.BuildAssetBundle.
using System.Collections; using UnityEngine; using UnityEngine.Networking;
public class SampleBehaviour : MonoBehaviour { IEnumerator Start() { var uwr = UnityWebRequestAssetBundle.GetAssetBundle("http://myserver/myBundle.unity3d"); yield return uwr.SendWebRequest();
// Get an asset from the bundle and instantiate it. AssetBundle bundle = DownloadHandlerAssetBundle.GetContent(uwr); var loadAsset = bundle.LoadAssetAsync<GameObject>("Assets/Players/MainPlayer.prefab"); yield return loadAsset;
Instantiate(loadAsset.asset); } }
isStreamedSceneAssetBundle | Return true if the AssetBundle is a streamed Scene AssetBundle. |
Contains | Проверьте, если AssetBundle содержит конкретный объект. |
GetAllAssetNames | Выгружает все ассеты в пакете. |
GetAllScenePaths | Return all the Scene asset paths (paths to *.unity assets) in the AssetBundle. |
LoadAllAssets | Загружает все объекты, содержащиеся в пакете ассетов, который унаследованы из type. |
LoadAllAssetsAsync | Загружает все объекты, содержающиеся в Asset Bundle. |
LoadAsset | Загружает объект с именем name из пакета. |
LoadAssetAsync | Асинхронно загружает объект с именем name данного типа type из пакета. |
LoadAssetWithSubAssets | Загружает объект с именем name из пакета. |
LoadAssetWithSubAssetsAsync | Загружает объект с именем name из пакета. |
Unload | Unloads an AssetBundle freeing its data. |
GetAllLoadedAssetBundles | To use when you need to get a list of all the currently loaded Asset Bundles. |
LoadFromFile | Асинхронно создает AssetBundle из области памяти. |
LoadFromFileAsync | Асинхронно создает AssetBundle из области памяти. |
LoadFromMemory | Synchronously create an AssetBundle from a memory region. |
LoadFromMemoryAsync | Асинхронно создает AssetBundle из области памяти. |
LoadFromStream | Synchronously loads an AssetBundle from a managed Stream. |
LoadFromStreamAsync | Asynchronously loads an AssetBundle from a managed Stream. |
RecompressAssetBundleAsync | Asynchronously recompress a downloaded/stored AssetBundle from one BuildCompression to another. |
UnloadAllAssetBundles | Unloads all currently loaded AssetBundles. |