Skip to main content

How to Load Asset Bundle in unity3d

Original Source: http://gyanendushekhar.com/2016/06/25/load-asset-bundle-in-unity3d/

You can load asset bundle either locally or from an URL. First download the asset bundle using WWW class then you can load objects from the bundle.

You can download asset bundle using WWW class.

  • Non-caching: Use object of WWW class to download data and it will be not cached in local storage of the device.

  • Caching: WWW.LoadFromCacheOrDownload method allows you to load asset bundle either from cache memory or by downloading it. If cache will be clean then it will download asset bundle otherwise it will load asset bundle from cache memory.
    The asset bundles are cached to the unity’s cache folder in local storage device. Size of caching is different for different platforms (web player, android, mac); unity web player allows to cache 50 MB of data.

You can also load asset bundle from file using AssetBundle.LoadFromFile(“Your path”) method. Usually you can store asset in applications streaming asset folder and can load from there.

Load Game object from asset bundle

First create an object of AssetBundle class from the downloaded data and then you can load objects from that asset bundle. You can use below mentioned methods of AssetBundle class to load objects from your asset bundles.

  • LoadAsset: This method will load object by their name, pass the name of the object that you want to load.
  • LoadAssetAsync: Same as above method, but loads object asynchronously; so doesn’t blocks application’s main thread.
  • LoadAllAssets: This method will load all the objects in your assets bundle.

Once you load the game object from asset bundle, instantiate it to use in the scene.

Load scene from asset bundle

First load all the assets from associated scene asset bundle then load scene using SceneManager.LoadScene method.

Unload Asset bundle

Once you load the objects from asset bundle then unload asset bundle using AssetBundle.Unload method. This helps to conserve the memory and improves performance.


Comments

Popular posts from this blog

Unity Mobile Game Optimization Checklist

- On Image and Text components that aren’t interacted with you can uncheck “Raycast Target” on it, as it will remove them from any Raycast calculus. - Click on your textures in your “Project” window. Click on the “Advanced” arrow, and now check “Generate Mip Maps”, Unity especially recommends it for faster texture loading time and a lower rendering time. - Set the “Shadow Cascades” to “No Cascades” (Quality settings) - If you have dynamic UI elements like a Scroll Rect with a lot of elements to visualize, a good practice is to turn off the pixel perfect check box on the canvas that contains the list and disable the items that aren’t visible on the screen. - Set all non moving objects to "Static" - Above Unity3d 2017.2 you should turn off "autoSyncTransforms" on the Physics tab - Always use Crunch Compression Low on textures - Try to keep the “Collision Detection Mode” on “Discrete” if possible, as “Dynamic” demands more performance. - You can go to the TimeManager w...

How to make RPC in Unreal Engine Steam Online Subsystem and EOS

Remote Procedure Calls, also known as RPCs, are a way to call something on any other instance.  In the Unreal Engine, RPCs are used to ship events from the patron to the server, the server to the customer, or from the server to a specific group. It's important to word that RPCs cannot have a return cost. If you want to return something, you'll ought to use a seconds RPC within the contrary path. There are precise policies that RPCs observe, which are unique in the official Documentation. Some of these regulations encompass wherein the RPC must be run, such as the server instance of an Actor, on the owner of the Actor, or on all instances of the Actor. There are some necessities for RPCs. First, they must be referred to as on Actors or replicated Subobjects. The Actor (and component) have to additionally be replicated. If the server is looking an RPC to be executed on a customer, handiest the patron who owns that Actor will execute the function. Similarly, if a client is calling...

How to fix clothes flickering in Unreal Engine 5.

 This issue can be noticed some of the character clothes when using Paragon Characters in UE5. To fix the flickering issue, Use Self Collisions checkbox in collisions properties under the Static Mesh option of your character. Open the character model go to   Asset Details > Clothing Properties - Cloth Config - ChaosClothConfig - Collision Properties - Use Self Collisions > False