Just +1 that i’m seeing the same thing when upgrading from a project that was 5.5.4 now to 2017.1.1f1 that utilizes AssetBundle.LoadAssetAsync the same errors occur.
Hey everyone! I created a bug ticket and Unity wrote me today saying it’s a duplicate issue that’s being worked on. Please have a look and vote on the issue. Thanks!
PS - In the meantime, an alternative that we are exploring is adding the Animator to the necessary GameObjects at runtime. When I’m able to test, I will report my results here.
I know you are not really looking for an answer and just want it fixed, however, creating a build of a user’s project data, and ensuring everything builds and loads correctly is a terribly complex problem. I’m giving a talk at Unite Austin that goes into the details of this for those that want more insight, and If you or others may find it interesting, we can see if we can adding the talk to the https://youtube.com/user/Unity3D channel. Just be warned it will be an hour long talk by me, and may be boring (I hope not though).
In this specific case, this issue was caused by fixing another bug to ensure AnimationClip data was actually being written out to disk correctly for asset bundles to be used by the player. The result though is that if you load that AnimationClip data from an asset bundle in the Editor using Async api’s, then it would trigger this assert. So this issue only will occur in the Editor and has no impact on the Player.
I will definitely check out that session once it’s posted on YouTube.
I am aware of the fact that certain things are very complex, but i would assume there are tests you perform before a release. In fact, the subject of automated tests has been discussed in the Unity blog so many times, one would only assume that there’s a test case for this specific thing.
Sadly AssetBundles working in the editor is one of those things we can’t have 100% test coverage, simply for the fact that AssetBundles built with the BuildPipeline API contain only Player specific data and the Editor can’t read everything that is Player specific. Interestingly enough, the build pipeline rewrite (target 2018.1 release) we have experimented with the option of allowing Editor specific asset bundles to be built, it works quite well, but won’t be part of the 2018.1 release as we wanted to focus on Player building bugs first.
FYI today I had some time to review and created a script that references the Animation Controller and Avatar for each asset and removed the Animator. Then in my main project, I check for this script and replace with Animator. Same errors occur. My understanding now is that this AssetBundle error is related specifically to either the Animation Controller, Avatar, or both.
Do we have a confirmed ‘fixed in’ version for this, or is it still unfixed? - there seem to be conflicting reports here about it working or not in 2017.2 builds?
(Definitely been seeing it all the time in 2017.1.0p4 and 2017.1.1f1, haven’t tried newer versions yet)
I’m getting a possibly-related issue where if I rapidly load/unload assets from bundles, things explode more spectacularly - A load of exceptions along the line of “CheckConsistency: GameObject does not reference component Transform. Fixing.”, and fragments of prefab being dumped in the root of the hierarchy…
This is when rapidly cycling through character models that are loaded async from bundles (mashing the next/previous character button as fast as possible), and it doesn’t seem related to a specific bundled prefab. I’m pretty sure I’ve fixed the initial issue of attempting to unload a character/bundle before the async load was complete - and currently out of ideas as to what causes this. The existing spam of internal Unity assertion messages doesn’t inspire confidence in the stability of the AssetBundle system, though… especially after spending a chunk of time trying to fix the reference counting in AssetBundleManager…