I’m trying to destroy single asset (Texture) from AssetBundle. My asset bundle contains 1000+ textures, which are used for custom video player. Basicly I’m itterating throught textures and displaying them to plane and I’m keeping the track of the last loaded texture. When the next texture is loaded I’m destroying the previous one. The thing is, this works great in Editor (Resources.UnloadAsset()), but when I build my game (Windows) the memory does not get released, it just keeps on rising. I have tried Object.Destroy, Object.DestroyImmidiate, Resources.UnloadAsset, Resources.UnloadUnusedAssets. I’ve even tried setting the object value to null and calling the garbage collector but nothing seems to be working.
I have search for the solution on web, and most people have this problem. I get it, you can’t unload single asset from the AssetBundle is the most answer. But I can’t be peace with that this is actually working in editor. The memory gets released and the the number of loaded texture is constant. I’ve tested this and when I remove the Resources.UnloadAsset line in Editor, the memory does not get released (like in builded version).
Do you guys have any advice or idea on how to solve this?
EDIT: I can’t use AssetBundle.Unload() because it unloads the whole AssetBundle and I need to keep the instance alive in order to continue with video playing.