In Unity you can unload an asset from memory using Resources.UnloadAsset. It appears that this is done asynchronously as it doesn't appear to pause the main thread (at least not very much, even for significantly large objects). For reasons I will explain in later, I need to know when the asset's asyncronous loading completes, or at least I need the ability to check if is is completed. However, it appears that you cannot check the object you just unloaded for signs that it is finished unloading because looking at the unloaded asset's properties will cause the asset to become loaded again, which defeats the point of unloading it in the first place. Is there a way to check if this asset is finished unloading without spooking Unity into loading it all back up again? You're probably wondering "why do you need to do this in the first place?" It appears that if you instruct Unity to load an asset via AssetBundle.LoadAssetWithSubAssetsAsync while the asynchronous unload operation is running in the background on that same asset (via Resources.UnloadAsset), the two asynchronous load and unload operations will conflict and cause Unity to load the asset back in incorrectly. This results in assets being missing when the load operation completes (ie missing meshes, empty black textures, pink materials) instead of the expected behaviour of cancelling any conflicting unload operations before attempting a reload. Okay, no problem we can work around this right? Well, not really, as far as we can tell, unless you know something we don't. We're currently organizing requests to load and unload assets in a queue such that (hopefully) unloads and loads do not happen at the same time. Multiple objects can be requested to load at the same time. Multiple objects can be requested to unload at the same time. But never are they allowed to overlap (in theory). However, unless there is some weird method we don't know about, we cannot check to see if all of the queued unloads are finished before switching back to performing loads. Currently as a work around we just wait an arbitrary length of time and cross our fingers and hope everything has unloaded by then. Luckily Unity's API provides a way to see if a load has completed, so at least they got half of it right. Anyway, that's the situation. Is there a "isDone" equivalent for unloading somewhere?