As a Roblox dev, it is extremely cumbersome to use/edit animations in their current state.
Workflow
As of now, we have to manually publish each change to an Animation because there are no automated alternatives. Loading animations as web-assets slows down the current workflow, and while it can reduce the amount of memory we’re working with by fetching the data externally from the game, it’s hardly worth the layers of complications it adds to the development process.
If we want to edit any existing animation, we need to hold onto the keyframe sequences anyways or else we have to spend time retrieving them from the Animation instance.
Then after modifying the keyframes, we need to carefully re-publish the animation without overwriting the original. The ‘overwriting an existing animation’ window also has a lot of limitations, so it can slow things down.
Issues
There’s very little benefit to having Animations be a saved asset on the cloud.
- Tedious to modify an existing Animation
- Studio Window for overwriting Animations has limitations in how many results it shows at once + search bar can’t filter by name, so overwriting old animations can be a chore.
- Requires you to store KeyframeSequences instances somewhere so you don’t lose progress since you can’t easily re-aquire the KeyframeSequences from Animation objects.
- The permission system for sharing animations is very difficult and for little good reason. Moving many animations across projects is an entire process in of itself.
- Testing Animations across Team Create breaks very easily due to weird restrictions in the permission system that are both unclear and unhelpful
- There’s time wasted on having them be moderated when they don’t hold information about the rig they will be played on
- Can’t dynamically create animations at runtime
- Clutters inventory (with a lot of temporary/unused animations)
Feature
My suggestion is this: let us create Animations from KeyframeSequences in live games.
Currently there’s an API that almost lets us achieve this:
KeyframeSequenceProvider:RegisterKeyframeSequence(KeyframeSequence)
However, this doesn’t work outside of Studio. I’m aware that this probably isn’t as easy as turning on a flag as there’s surely missing functionality. But having this work in live games would reduce a lot of unnecessary workload on the developer.
This wouldn’t be a replacement as much as an additional tool we can use. Even just having them load and play purely client-side would go a long way.
This way we could easily create and modify animation keyframes at a whim and then turn them all into Animations during runtime without having to worry about reuploading animations constantly.
Referenced Posts:
(2017)Running Animations without Uploading
(2016)Allow animation instances to be played -- not just by ID
(2017)Public Animations - #37 by CinnamonLambda
RegisterKeyframeSequence API: