We are working on improvements to the animation replication system that should resolve this issue. Unfortunately, those improvements are taking longer than expected as we don’t want to break any existing functionality. We are continuing to work on this, though and we hope to release it as soon as it is working well.
What sort of timeframe are we looking at? It’s still causing some significant problems and the workarounds at not pretty.
At the very least, a way to get loaded animations in an Animator without using AnimationPlayed
would be much appriciated.
Not sure if this helps.
The first video. I had the priority of the animation set to “Idle” (for the idle crawl animation)
https://gyazo.com/562fb0cd01366fe4b20b0fbe10e302e2.mp4
The second video. I had the priority of the animation set to “Core”.
https://gyazo.com/653783cb11065971c85cf8a6a9b070d8.mp4
Core priority animations seem to replicate properly.
For anyone else if the animation doesn’t have to be a higher priority this seems to be the solutuion
I think Animations should be just handled clientside, why would the server (which no one plays on the server) handle animations? Who will see the server animations apart from only thing doing is sending the information to all clients which you can also do using OnClientEvent’s and FireAllClients() call in case you want it to replicate/sync with other clients, but i think just having the server fire a remote to all clients to update the animations for these is the best solution
But go ahead, flag this post because this forum is literally 1984
It’s 2023 and Roblox still hasn’t fixed this bug. The only solution to this is by using RemoteEvents, firing all clients and changing the loop but, the problem is that the server gets none of that code and it will remain dead. You sadly cannot send the loaded animation back to the server but better than nothing I suppose
New year, new me, but the same old bug I see.
That’s great because it’s also an issue via client side as well. Animations set to not loop via client do not replicate the behavior to the server. But a way around this issue would be to wait for the animation to complete then stop it. I guess Ill try that.
The solution would just be this.
anim.Looped=false
spawn(function()
local anim=anim
anim.Stopped:wait()
anim:Stop()
end)
I’d only use spawn function if you want to carry on with the code you have around it without making it wait for the animation to complete.
This looped property may not replicate but if you unloop the animation and wait for it to stop then stop the animation this does replicate across server client boundaries.
Here’s what I’m doing now:
animationTrack:Play()
task.wait(animationTrack.Length - 0.5)
animationTrack:Stop(0.5)
In this way, it’s necessary to stop it a little early (at least 0.1s or so) and fade it out smoothly. Otherwise, the next loop of the animation will play and get interrupted once the client receives the :Stop signal.
This is still an issue. Should at least be documented.
Roblox, I beg. This issue wasted an hour of development time, as I could not figure out why for the life of me some of my user-submitted emotes looped properly and some didn’t, and I didn’t get proper events. Please fix this, it’s been known for nearly 5 years now.
The solution is simply this. If you have an animations engine simply patch them with a spawn function variant. Or even something like this local function AnimBoundary(anim)
–this method replicates across server client boundaries
local anim=anim
local animhandle
animhandle=spawn(function()
anim.Looped=false
anim.Stopped:wait()
anim:Stop()
animhandle:Disconnect()
end)
end
I’ve already worked around it. The feature request is about requesting Roblox to fix the underlying issue, not requesting band-aid “solutions”.
Roblox when will this ever be fixed, I am still encountering this on my game.
“Yes, this is a known problem and we currently have a ticket tracking it,” they said.
“Hopefully we will get to it soon,” they said.
5 years ago
Will this ever be fixed?
I doubt it. I’m showing an animation that isnt supposed to be looped to friends and it’s an inconvenience to have to change it in animation editor.
Bumping this post; it’s kind of lame how they still haven’t fixed this.
Yeah I would keep bumping it. I was running into problems where I couldn’t figure out why my animations were not stopping even though I set .Looped to false. Turns out these properties don’t replicate at all and I wasted a ton of time trying to figure out why it wasn’t working until I stumbled upon this post.
The fact that this was recognized as an issue and still has not been fixed for 5+ years is absolutely insane.
playing animations on the server makes it so animations are replicated to all clients roughly at the same time, meanwhile, playing animations on the client takes some time till it finally replicates to others. playing animations on the server is a MUST for competitive fighting games like deepwoken that has a reaction-based mechanic (parrying, perfect blocking, perfect dodging).