AnimationTrack:AdjustWeight improperly replicates

Note: This happens when Workspace.FilteringEnabled is true or false

AnimationTrack:AdjustWeight leads to some interesting results when played on a Server/Test Server.

Attached it a repro file.

The following videos attempt to demonstrate what’s going on. Pay close attention to the Head part
PLAY SOLO
https://streamable.com/qeyc

Working as intended!

TEST SERVER
https://streamable.com/cxty
(left server, right client)

You can see in the Test Server example that neither screen is accurate.
On the left its business as usual
On the right, both animation weights appear to be set to 1 (with the Down animation taking priority due to being play second)

WeightRepro.rbxl (13.5 KB)

15 Likes

Not surprised. Animation weights are hardly supported as it is.

1 Like

Er… yes. That’s why I made this bug report…

8 Likes

:stuck_out_tongue:
Just a side comment, hoping ROBLOX will consider supporting it more than they currently are.

1 Like

Everything in the Repro is in a Script inside of the Dummy in Workspace.

This is still a thing, and I keep running into it. Over the summer @Davidii had it fixed and enabled it but was turned off and has yet to be re enabled.

I currently have to play everyone’s animations locally per client to take advantage of weight. It’s not an ideal work around to the bug and it should replicate the same as speed.

5 Likes

I didn’t know this got turned off. I thought it worked fine… hm.

1 Like

This issue is still very much affecting developers today, preventing me from being able to implement directional movement animations through blending walk cycles.

As many games are working around this issues by creating their own replicating systems, or even resorting to semi-custom characters, it would be fantastic if this is looked into. Especially since @Davidii worked on a solution in the past and the Speed property of animations does replicate correctly, which is nearly identical in the ways of interaction and replication.

Upon further investigation I found out that there is one working way to replicate the weight of animations to other clients:

  • Play animations with a weight of 1 (not 0)
  • Ensure AdjustWeight never sets to 0 (0.01 at minimum)

The issue seems to be related to other clients stopping animations when Weight is set to 0. By using this workaround you can achieve your desirable effect until Roblox fixes this issue.

Here is another bug report about the 0-weight issue specifically:

10 Likes

This is still extremely frustrating and affecting development. At times, the replication of animations is seemingly random – I have 4 different animation tracks with the exact same asset id; when the weights are changed to different values, only one animation actually replicates to other clients. Even when one animation is then returned to a weight of 1, and the other animations to a weight of 0.01, the animation will still not play on other clients. There is seemingly no method to the madness.

This problem can be alleviated by using different asset ids (even if the actual animation is exactly the same). This sort of unexpected behaviour should not be happening, especially when you can break the replication of Roblox’s own default character animation script by simply setting the asset IDs of the walking and running animation to the same asset.

4 Likes

I just encountered this issue today. Can confirm that AdjustWeight does not replicate, and it has ruined my plans for the game I’m making. I’m gonna need to restructure a few things to work around this.

How has this not been addressed in 5 years?

2 Likes

For what it’s worth, this was patched at one point for a few months, but it appears the behavior has reverted back to the original bug.

2 Likes

Still happening. Would love if this bug got addressed, its a pain to have to keep making custom cframe animation systems.

2 Likes

Animation replication in general is in serious need of improvement. Setting any animation-related property at runtime is a hassle. It would be amazing if after all these years, this were to be finally fixed.

5 Likes

Bumping this again!

Having this issue right now when I try to blend idle to walking. Works perfectly fine when testing it on Run Mode without spawning the player…

Now when I try to spawn the player for some reason the idle weight still overcomes the walking weight even though walking has a higher weight but idle is still playing while even moving…

Some temporary work around:
Don’t put the weight to completely 0
just use math.clamp(num, min, max) minimum should at least be 0.01
so at least it doesn’t stop the animation altogether.

1 Like

Unfortunately, this is still an issue even with the new animation weighting update. Animations that are constantly updated to a weight of 0 can cause issues upon the rig. Issues such as the entire rig disappearing or the other animations without a weight of 0 not playing.

2 Likes

Bumping because this bug still exists in 2023 Q4 :tada: and I wasted several hours tracking this down.

2 Likes

yeah the fix is still you have to make sure never to set it to 0, so you need to do like .001 at minimum etc