When using a custom animation script, a mismatch is being created between the animation playing on the client and the animation being shown to other players. This mismatch is occurring both in Studio and during actual gameplay
Example of the issue:
The client does not move their character, thus the idle animation will start playing. For the client, the idle animation will play as to be expected, but somehow other players will see the client playing the Dance2 animation instead of the idle animation
From the information I’ve currently received, this issue started happening to my custom animation script only since the latest Roblox update was released. I haven’t made any changes to the animation script that could cause an issue like this to occur, and haven’t received any reports of this problem beforehand
Steps to recreate this issue:
- In a new baseplate, retrieve a custom animation script such as my
Animate 2
script from the Toolbox and place the script inside of StarterCharacterScripts. Alternatively, you can use this place file: AnimationReplicationBug.rbxl (54.7 KB) - Enter a 2 or more player local server
- The mismatch between the animations being perceived by the client and other players should be immediately noticeable
This issue encountered by @Faustollol involving the AdjustSpeed
method might be related to the replication problem mentioned above:
Using AdjustSpeed(0)
in-order to pause the animation works on the client, but other players will instead see the animation stopping completely. A workaround to this issue was found:
local timePosition = animationTrack.TimePosition
animationTrack:Play(0, 1, 0)
animationTrack.TimePosition = timePosition
which stores the track’s time position in a variable, then replays the animation with the speed set to 0, then sets the track’s time position to the one stored in the variable