- Home /
Destroying AssetBundle directly is not permitted
I am getting the following Error directly at startup before any AssetBundle Object is used or loaded:
Destroying AssetBundle directly is not permitted. Use AssetBundle.UnloadBundle to destroy an asset bundle.
Error in File: C\\BuildAgent\\work\....\\Runtime\\Misc\\GameObjectUtility.cpp
I never changed or edited the GameObjectUtility.cpp file. Does anyone know why this error occurs?
Answer by jehovah0121 · May 15, 2012 at 01:32 AM
You could try relaunching Unity3d. I met with this once, and it kept throwing this error no matter how I modified the code. I relaunched Unity3d and the world regained peace.
Answer by habegage · Jan 17, 2020 at 11:02 PM
Because this was the first hit on google when I had the same issue and couldn't figure out what I was doing wrong, I had the following offending code:
var bundle = AssetBundle.LoadFromFile(Path.Combine(Application.streamingAssetsPath, "bla"));
var instance = Instantiate(bundle);
When entering play mode that would work, but as soon as I wanted to switch the scene or enter play mode a second time, I got the "Destroying AssetBundle directly is not permitted"
The reason, of course, is just that I instantiated the asset bundle instead of the asset which is inside the bundle, and that's just crazy :D The real code for me should look like this
var bundle = AssetBundle.LoadFromFile(Path.Combine(Application.streamingAssetsPath, "bla"));
var asset = bundle.LoadAsset("bla");
var instance = Instantiate(asset);
TLDR; Check if you are not by accident instantiating a bundle somewhere instead of the asset inside the bundle. If you do, fix the code, don't save your scenes and restart Unity
Your answer
Follow this Question
Related Questions
Destroying a gameobject is not working. I tried triggering the colliders but an error comes out. 1 Answer
Why Can't I Destroy This Object? 4 Answers
Error after building a bundle,Error while creating a bundle 0 Answers
using Contains(gameObject) to find and destroy a gameObject from a list 2 Answers
Why am i getting a null reference? 1 Answer