Roblox should allow more than 4 priorities for animations

Hello developers, and hopefully some staff members

I feel as if animations should have more priority choices, perhaps 8 or 16. More would be useful too. Currently there are only 4: Core, Idle, Movement, and Action. These priorities are great and help a lot with automatically playing more important animations over lesser background animations.

https://gyazo.com/29700788df89f307b7bcbcc6a3219298.mp4
Obligatory gif for entertainment

After experimenting with AdjustWeight and other weight-related items for animations, I couldn’t find a way to simulate priorities using weights without adding in a more complex system for adjusting weights of already-playing animations.

I can think of a few scenarios where more than 4 priorities would be useful in reducing script complexity, for example:

Core - Idle animation like “standing still”
Idle - moving animation like “walking”, arm movements included
Movement - holding a sword “standing and holding”. This animation would only include the right arm parts in an R15 character, and would play over the arm animations of the core and idle animations
Action - holding a sword while moving “sword walking”. This animation’s right arm keyframes would also play over all lower-priority animations, telling the arm how to move when the player is walking while holding a sword.

But then that’s where you need another 5th priority, or potentially more. If you click and want to play a “swing your sword” animation as top priority, you’re left with no wiggle room for priorities, so you need to make the script running your animations much more complex to adjust weights or stop/play animations on the fly. With more priorities, you could easily play a “swing your sword” animation over the other running animations and not have to worry about what to stop or adjust, then play again at later times. Just ‘fire and forget’.

A simple solution may be to make priorities similar to ZIndex in GUI, where the higher the number is, the higher the priority. The current priorities could be labelled as equal to 0, 1, 2, & 3 so the transition is more smooth.

Please take this into consideration. I’d love to have feedback on this:D

What do you think? Do you believe creating an animation system for you would be made easier, harder, or not affected at all by adding more priorities than the current 4?

  • Easier
  • Harder
  • No effect

0 voters

54 Likes

As Roblox games grow in complexity, animations become more and more essential to try to cross that uncanny valley to try to become realistic. One big problem developers run into when trying to create complex characters are animations. Animations have a massive impact and Roblox’s animation system has remained mostly unchanged since they first were introduced, and we’re starting to reach the limit of what they currently can do. Right now, you have 4 animation priorities: Core, Idle, Movement and Action.

Often 4 levels of animation priority can be enough, but default animations are using Idle and Movement priority, which leaves developers only with the Action priority over movement. If a developer wants multiple layers of animation, like for example a soldier using default walking animation but holding a gun. Changing character states like ADS while reloading etc would mess up because you would need to play two animations at the same time, where one needs to take priority over the other, and not be cancelled by the other (here, Reloading needs to continue even if the gun-holding animation changes).

A lot of developers make their own animation systems so they can handle smooth animations and transitions themselves, but as according to zeuxcg himself, they are not recommended:

More features to the animations in general would be nice, and more priorities to work with would be a nice place as I keep running into animation priority issues where I have to come up with hacky compromises that have unwanted biproducts like awkward animation transitions. Having more priority levels would allow me to make more in-depth and complex characters that can handle multiple states at the same time much better than they currently can.

24 Likes

As a Roblox developer, it is currently too hard to have more than 4 priorities in the animation playback. This means that in order to layer animations properly, we may have to overwrite animations.

This eventually leads to forking the animation script and writing our own animation playback system. I know it’s not hard to disregard animations that are at the same priority level, and just play back the ones that are active.

If Roblox is able to address this issue, it would improve my development experience because I wouldn’t have to rewrite the animation player to layer animations, or be constrained to only 4 animation layers.

31 Likes

I’m glad to see other developers after this. Maybe 20 months after the original post Roblox will consider adding more priorities.

7 Likes

This would be really nice to have, and the poll says 90% would make their animation development easier if this was implemented

I ran into a problem just now, I want to play a idle sword animation over the default Roblox movement and idle animations, but I have to set the priority to action since Roblox uses both the idle and movement priorities already thus only really giving us one priority to use ourselves, but if I do this I can’t play a sword swing animation because its priority would have to be the only priority we have access to (action) and that’s already being used by the idle sword animation

tl; dr: roblox animations have 4 animation priorities but it only leaves us 1 to play on top

I really hate asking for a response, but it’s been over 2 years now, and the poll shows that overwhelming majority would want this change

8 Likes