• Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by Bill · Apr 01, 2010 at 05:32 PM · assetbundleunloading

Unloading a streamed scene stored in an asset bundle.

I am dynamically downloading a scene from a web server to the local client. Once the player is done with the scene, it is unloaded by using the Application.Load(...) method to load up the next scene. When the scene is unloaded, does unity automatically remove all of the resources from memory? Or will this not occur until I physically call the unload method on the asset bundle itself.

The real question is, does the asset bundle act as an pointer to a package of data on the hard drive. Or is the full file always loaded into memory 100% of the time? I have a scenario were players will be traveling back an forth between levels a lot. Therefore, I need to make sure the memory is released between levels, but the data is cached so that I can quickly load the level again later without needing to download it again (within a single visit to the website). It's alright if the data needs to download again the next time the user visits the website.

Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

1 Reply

· Add your reply
  • Sort: 
avatar image
3
Best Answer

Answer by Lucas Meijer 1 · Apr 01, 2010 at 09:09 PM

For optimal memory usage call Unload() on the asset bundle as well. If you happen to need it again, you can still grab it again trough www.assetBundle.

Basically AssetBundle is a "Object" that contains binary representation of lots of stuff in it. The asset bundle itself can be loaded, but that doesn't mean the objects that the bytes in the assetbundle described are loaded. Only the bytes are.

Once you Load something from an assetbundle, the bytes get deserialized into a new Object. (GameObject, or a Component, or a Texture2D, etc).

Once you created all the objects from the bytes in the assetbundle that you need, you can unload the assetbundle again to free up some memory.

You don't need to manually unload the objects created from the bytes in the assetbundles. Unity will automatically unload them when you load a new scene. (Assuming you didn't DontDestroyOnLoad them.)

Hope that helps, Lucas

Comment
Add comment · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Welcome to Unity Answers

If you’re new to Unity Answers, please check our User Guide to help you navigate through our website and refer to our FAQ for more information.

Before posting, make sure to check out our Knowledge Base for commonly asked Unity questions.

Check our Moderator Guidelines if you’re a new moderator and want to work together in an effort to improve Unity Answers and support our users.

Follow this Question

Answers Answers and Comments

No one has followed this question yet.

Related Questions

How to import the object from server to unity 2 Answers

Does Resouces.UnloadUnusedAssets frees asset bundles unused resources? 0 Answers

Does Unloadunusedassets unload unused assets loaded from Assetbundles? 0 Answers

Unloading unused Assets to reduce memory usage,then Not responding ? 0 Answers

Unloading specific asset in assetbundle 0 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges