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("https://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); } }
memoryBudgetKB | Controls the size of the shared AssetBundle loading cache. Default value is 1MB. |
isStreamedSceneAssetBundle | Return true if the AssetBundle is a streamed Scene AssetBundle. |
Contains | 特定のオブジェクトがアセットバンドルに含まれているか確認します。 |
GetAllAssetNames | アセットバンドルにあるすべてのアセット名を返します。 |
GetAllScenePaths | Return all the Scene asset paths (paths to *.unity assets) in the AssetBundle. |
LoadAllAssets | 型から継承したアセットバンドルに含まれるすべてのアセットを読み込みます。 |
LoadAllAssetsAsync | アセットバンドルに含まれるすべてのアセットを非同期で読み込みます。 |
LoadAsset | アセットバンドルから指定する name のアセットを読み込みます。 |
LoadAssetAsync | 非同期でアセットバンドルから name のアセットを読み込みます。 |
LoadAssetWithSubAssets | name のアセットとサブアセットをアセットバンドルから読み込みます。 |
LoadAssetWithSubAssetsAsync | name のアセットとサブアセットを非同期でアセットバンドルから読み込みます。 |
Unload | Unloads an AssetBundle freeing its data. |
UnloadAsync | Unloads assets in the bundle. |
GetAllLoadedAssetBundles | To use when you need to get a list of all the currently loaded Asset Bundles. |
LoadFromFile | ディスクから同期でアセットバンドルを読み込みます。 |
LoadFromFileAsync | ディスクから非同期でアセットバンドルを読み込みます。 |
LoadFromMemory | 同期メモリ領域からアセットバンドルを作成します。 |
LoadFromMemoryAsync | 非同期メモリ領域からアセットバンドルを作成します。 |
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. |
hideFlags | Should the object be hidden, saved with the Scene or modifiable by the user? |
name | オブジェクト名 |
GetInstanceID | Gets the instance ID of the object. |
ToString | Returns the name of the object. |
Destroy | Removes a GameObject, component or asset. |
DestroyImmediate | Destroys the object obj immediately. You are strongly recommended to use Destroy instead. |
DontDestroyOnLoad | Do not destroy the target Object when loading a new Scene. |
FindObjectOfType | タイプ type から最初に見つけたアクティブのオブジェクトを返します |
FindObjectsOfType | Gets a list of all loaded objects of Type type. |
Instantiate | original のオブジェクトをクローンします |
bool | オブジェクトが存在するかどうか |
operator != | 二つのオブジェクトが異なるオブジェクトを参照しているか比較します |
operator == | 2つのオブジェクト参照が同じオブジェクトを参照しているか比較します。 |