I’m not sure what might be the cause of this issue, if it is because of Unity version, animation system, timeline system or addressable.
So I have a timeline contains only an animation clip (character attack animation), and it worked as a charm in editor, but in build the animation won’t play. The playable asset is loaded by addressable asset system. I checked the following things:
The animation clip and the playable asset is loaded into memory, according to profiler.
The signal on playable is fired and received correctly so the game can proceed but only the animation was somehow skipped.
I tried different timeline package version and addressable package version but no luck.
Build is on Windows X64, Mono backend.
Unity 2019.3.0f1-f5
Timeline Package 1.2.6~1.2.10
Addressable Package 1.3.8~1.5.0
Update : This seems more likely because of Addressables. The animation plays when I choose “Use Asset Database” or “Simulate Groups” in Play Mode Script setting, while at “Use Existing Build” the animation won’t play.
Addressable Package 1.5.1
Edit: This is really strange because I now find that it is because the binding to animator is lost when I play the playable. This only happens in “Use Existing Build” in Addressable settings or actual build. Also when I manually set the binding back and play the same playable, the animation plays as normal.
Have you ever found a solution to this problem? I’m facing a similar situation and it too seems so be related to the timeline animation not playing when loaded from addressables in a build.
I also had a similar experience. Character prefabs, animator controllers, and animation clips were all included in the addressables, but the animation was not playing or was appearing in a strange T-Pose issue.
What I suspected was that the Avatar of the character model registered in the Animator was not registered in the addressables.
As far as I know, the addressable system automatically includes all dependent assets (materials, textures, avatars, etc.) in the bundle. For example, if the same material is used in two assets, that material is copied, causing a duplicate dependency issue.
However, as in the above, I remember solving it by rebinding and registering all dependent assets in the addressables.
Additionally, there seems to be another suspicious part that when the IL2CPP and Strip Engine Code options are enabled in the build options, some classes may not be included in the build.
For reference, since ours was a mobile project, we enabled these options to reduce the build size.
(The location: In Unity Project Settings - Player - Configuration, there are options to enable IL2CPP and Strip Engine Code.)
Therefore, I solved it by excluding classes such as Animator, Animator Controller, Animation Clip, RuntimeAnimatorController, AnimatorOverrideController, Avatar, etc. from the optimization process in the link.xml file.
When IL2CPP and Strip Engine Code are enabled, unnecessary classes are excluded during the Unity build optimization process, and if the above classes are excluded during this process, it can occur.
I understand that in the link.xml file, you must set preserve=all for these classes.