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 download file button in react js

To create a download file button in React.js, follow these steps: Import the necessary dependencies: javascript Copy code import React from 'react' ; import { saveAs } from 'file-saver' ; Create a function that handles the download action: javascript Copy code const handleDownload = ( ) => { // Create a new Blob object with the desired content const fileContent = 'This is the content of the file you want to download.' ; const blob = new Blob ([fileContent], { type : 'text/plain;charset=utf-8' }); // Use the saveAs function from the file-saver library to initiate the download saveAs (blob, 'download.txt' ); }; Create a button component and attach the handleDownload function to the button's onClick event: javascript Copy code const DownloadButton = ( ) => { return ( < button onClick = {handleDownload} > Download File </ button > ); }; Use the DownloadButton component wherever ...

How to Convert Unreal Engine 5.1 Blueprint Project to C++ Project

To begin, open your project in the Unreal Engine 5 or a newer version of the editor.  Next, access the New C++ Class Dialog by selecting Tools and then New C++ Class .  From there, create a new "None" class and press "Create Class."  You might receive a warning message regarding the game module compilation, but you can disregard it and choose "No."  After closing any pop-ups, warnings, or success notifications, exit the Editor.  Proceed to your project's folder, right-click on the .uproject file, and select "Generate Visual Studio project files."  Double-click your project's .sln file to open it in Visual Studio.  In Visual Studio's Solution Explorer, find and choose your project.  Select "Development Editor" in the build configuration drop-down menu.  Right-click on your project and select "Build" to compile it without any errors.  Afterward, set the build configuration drop-down menu to "Development" ...