The animator object in World // Zero will randomly break and a character will no longer replicate animations (until they get a new character). We’ve been seeing this since March and are confident it’s not a bug with our code.
We were able to reproduce this issue 100% of the time by having no animatable joints visible to the server, which seems to cease the Animator from replicating entirely.
By adding 1 joint visible to the server, we have bypassed this replication condition however our rigs will still stop replicating creating the infamous “helicopter bug” (see below) in our game. This happens because the root joint no longer gets reset per step by the Animator once it breaks, and our body-looking code updates the existing value.
Our best guess as to why this happens is because the rig is built / destroyed at runtime on each client for level of detail as they’re complex rigs.
Fortunately our entire animation pipeline funnels down into one method, so we’re going to switch to using a custom Animator implementation that runs over RemoteEvents and will switch back once this is fixed!