Inconsistently, animation replication breaks. Other clients no longer see certain players’ animations until something triggers it to “fix” itself.
Example of the bug in action and it getting “fixed”
Details
- What it actually does
- When the bug is triggered (see points below on infromation relating to triggers) all new animations on the client will no longer replicate to the other clients. Once the bug has been triggered on a client there is a way to “fix” the state (refer below). The odd behavior of this bug comes from the fact that once you fix yourself you can’t get it again. I’ve never been able to recreate the bug after I know I had it and fixed it (as verified by another user)
- How to “fix” the bug
- To “fix” the bug you have to stop every single animation on the client that has played during the peroid of their animations not being replicated. I refer to this as “cycling” your animations. Essentially stopping every one that has played/is playing during the bug and then new animations will start replicating (I’ve attached a video showing an example of getting your animations “cycled”. In the video I am walking around with the bug, the only animation playing on my humnaoid being a walking one, as soon as I stand still walk and stand still again I’ve “cycled” my animations by ensuring all that were previously running are stopped)
- How to reproduce the bug
- I’ve never been able to narrow it down to a 100% guarnteed method for reproducing the bug, however in the repro place I’ve attached to this form contains what I believe is most likely the cause. To produce the bug with the greatest chance enter the place and enable shiftlock, then frequently use double tapped and help wasd inputs while left and right clicking. This seems to be the easiest way to trigger the bug. This bug is not visible to the client who recieves it, only other players will see it should it ever happen. Also to note, not every player will in fact see this.
- If you are interested I’ve linked an old forum that shows all the potential fixes and feedback I’ve recieved on the bug
Repro Details
- Link: Animation Replication Repro - Roblox
- Repro Code Breakdown (The repro place explains some basic controls)
- Combat
- Simply detects your current states and decides whether or not to request an animation to be played based off the request action and followed state checks
- Core Movement
- The various modules in Core Movement (except for jumping, dashing, and walk speed) merely handle altering a handful of state values MovementType MovementDirection and IdleType
- Animation Player
- This is where every unique player action is handled, things like the punches, and dashes. Each animation in this specific repro place is stored in ReplicatedStorage and is loaded as follows
local Movement_Anim_Folder = Anim_Folder:WaitForChild("Movement") Dash1 = Movement_Anim_Folder:WaitForChild("DashForward") Dash1 = Humanoid:LoadAnimation(Dash1)
- Animate(Custom)
- This is an altered version of the default animation script designed around multi directional movement. The creation of this script is where the bug first originated from. However the bug’s behavior seems to be completely separate from this system as the bug can only ever occur once
- Combat