AnimationTrack.Looped property should not have a latency

As a Roblox developer, it is currently too hard to infer whether a loaded animation is Looped. Currently, you must preload the animation and wait an arbitrary time for the Looped property to be correct. This is an undocumented behaviour and quite unintuitive. More information here (thought it was a bug)

I have a menu with a list of emotes that players can click to play. If the emote is looped, I’d like to display a cancel/pause button. Currently, I add a “Looped” attribute manually to these emotes. But that’s not ideal as I’d like there to be a single source of truth, preferably when I publish the animation as Looped.

If this issue is addressed, it would improve my development experience because I wouldn’t have to use workarounds to read the Looped property correctly. There should not be a delay or at the very least there should be an API for me to know when the animation data is loaded. AnimationTrack:GetPropertyChangedSignal(“Looped”) does not work.

There’s not really much that can be done… there needs to be a web call to fetch the animation data from the id, and then based on that, it sets the properties.

Maybe Animation.LoadingFinished as a ScriptSignal would be nice, probably a better name than that though. That way we can do Animation.LoadingFinished:Wait()

1 Like

Another idea would be a :LoadAnimationAsync() variant that yields until the animation is done loading on whatever client/server called it. This would be very useful and simple for experiences that handle animations strictly locally (I know I could have used this in the past)

2 Likes