Bulk Animation Upload — No More Tedious Uploads!


Bulk Animation Upload

🔨 Purchase Plugin | Animation Server 💻


The Problem

Have you ever been uploading animations to ROBLOX, and gotten sick of having to click through multiple menus just to upload the animation? Tired of having to upload tens, or even hundreds, of commissioned animations to your group?

Currently, as a ROBLOX developer, it is too much of a hassle to deal with manually uploading multiple animations in a timely manner. Having already been feature requested and asked about several times, its been an issue plaguing many for far too long.

Today, that problem is solved with the release of the Bulk Animation Upload plugin.

About the Plugin

The Bulk Animation Upload plugin provides a quick and efficient way to import animations from multiple methods, and upload them straight to ROBLOX in a single click. The best part? You can simultaneously upload up to 100 animations all at once.

Current Features

  • Import directly from Blender, FBX Files, or use regular old KeyframeSequences and CurveAnimations
  • Control enabled joints, Animation Priority and Looping properties in an intuitive and simple way
  • All uploaded animations instantly make Animation instances stored in ServerStorage
  • Create Animation Events in a flash
  • Preview animations on a rig before they're uploaded
  • Store all uploaded animations locally without any hassle

Installation

The plugin works in two separate parts: the main Studio plugin and the backend server. The backend server is responsible for directly sending the animation data to ROBLOX servers to upload the animations, while the Studio plugin handles all front-end user interaction.

Installation of the Studio plugin is quite simple. Just purchase the plugin, install it in Studio, and you’re good to go! Installation of the backend server is not that much more complicated. Instructions on its installation can be found on the GitHub page, as well as a full list and explanation of its features/settings.

Installation Videos

Usage

Connecting to the backend server

After installing and running the backend server, a tray option should show up. Clicking on this new tray icon should show this menu:

Backend Server Menu

This menu displays the Hosted Port at the very top, and there are some settings that you can learn more about on the GitHub page for the server.

By default, the backend server and Studio plugin are set to use the 25037 port, though if another program is already using that port, it will use a different one. You can copy the port to your clipboard by pressing on the Hosted Port button, and inputting it into the Studio plugin:

Connection Menu

You can then click the Connect button, and as long as everything was set up correctly, you should be greeted with the plugin's main menu!

NOTE: Auto Connect will automatically attempt to connect to the server whenever the plugin is loaded, so it is only recommended that you have it enabled if you also have the Run at Startup option enabled on the server.

TIP: Need to disconnect from the server? Just press the power button in the top left to close the current session!

image

Importing Animations

Importing animations can be done in four different ways: Blender, FBX Files, AnimationClip instances, and importing from Rigs.

AnimationClips

Animation Clips are a specific datatype that include KeyframeSequences and CurveAnimations. By selecting an Animation Clip in the Explorer and clicking on the Import Selected Animations button at the top, you'll add all selected Animation Clips into the Animation Export Queue.

TIP: You can import as many animations you want at once! Select all the AnimationClips in the explorer, press the import button, and they'll all be imported at once!

Importing from Rigs

Have animations stored in a rig? Just select the rig, press the Import Animations From Rig button, and it will import all animations stored inside of that rig directly to the Animation Export Queue!

FBX Files

⚠️WARNING:⚠️ ROBLOX has an FBX importing bug, and so currently the plugin will try to auto-correct the model on its own. Currently, in order for the Animation to be imported properly, you must select the rig that the animation will be played on BEFORE importing the animation. Please also always preview the animation before uploading to ensure that the animation was imported correctly.

Got a custom animation stored in an FBX file for a specific Rig? Click on the Import From FBX File at the top of the panel, select the FBX File storing the animation, and it'll be inserted into the Animation Export Queue.

NOTE: Due to the way that FBX importing currently works on ROBLOX, you must export the FBX file with the rig intact. This means that you cannot export just the animation to the FBX, you must have both the Rig and the Animation baked. Unfortunately, by having the FBX file in this state, it will upload the Rig as a mesh to ROBLOX again. Please read below for more information why, and how you can help fix it.

I’ve posted a bug report about this, but it is unlikely that the bug will be solved/fixed without significant attention on the bug. Please, if you have experienced this issue yourself, or plan to use the FBX importing feature yourself, send support to this bug report. Support can be in the form of comments, likes, or more evidence towards the bug. Thank you!

Blender

This plugin has direct integration with the Blender Plugin, and actually allows you to import animations much faster than the original. Simply select the rig that you want to import the animation on, click the Import From Blender button, and it'll automatically take the most recently exported animation saved to your clipboard and import it directly to the Animation Export Queue.

Animation Export Queue

The Animation Export Queue lists all Animations that are currently queued for uploading. From here, you are able to remove the animation from the queue, or select them to rename and edit it’s priority, looping property, joints, and its keyframe markers.

image

TIP: The priority selection goes both ways! Left clicking will allow you to increment the priority up by one, and right clicking will allow you to decrement the priority down by one.

TIP: You can select multiple animations to edit their properties and loop properties all at once! Use CTRL to select individual animations, or use SHIFT to select groups of animations.

Joints Control

The joint window allows you to control which joints are disabled and enabled in an animation.

image

Disabled joints will not be affected by the animation when playing it. This feature is good for blending animations together, such as an action involving upper-body movement with a running animation.

It is recommended that you preview the animation before uploading to see the result of disabling/enabling certain joints.

Animation Events

The Animation Events Menu allows you to add Animation Events at specific keyframes, along with specifying a value for each event.

image

The editor allows you to go frame-by-frame and pick out which keyframe you want to add the event to. Otherwise, you can directly type in which keyframe you want to insert it at.

TIP: By selecting the appropriate rig, you can visually see exactly what keyframe you're currently selecting! This makes it incredibly easy to determine where events should be placed.

TIP: Selecting an event marker will automatically make it go to the keyframe that the marker is on!

Upload Location

The Upload Location button will allow you to select where all animations are uploaded to.

NOTE: This is a GLOBAL upload location, meaning that all animations currently in the export queue will be uploaded to this group. There is currently no way to specifically set one animation to be uploaded to a different location.

Previewing Animations

In order to preview animations, you must select the appropriate rig that the animation will be played on. After this, you can select the animation that you want to be played from the export queue, and a Play Animation button should appear, to which you can then use to pause or play the animation on the selected rig.

Uploading Animations

When you have configured all of your animations the way you want to, you can press the Bulk Upload button, which will take all animations in the Animation Export Queue and upload them to the selected Upload Location.

image

After the upload is finished, all successfully uploaded animations will automatically be inserted into the Bulk Animation Uploads folder, and select all new animation instances:

image

NOTE: Animations that failed to upload will stay in the Animation Export Queue.


Gallery

Videos
Images

Known Issues

  • FBX Importing bug (read more in Importing Animations > FBX Files)

If you find or experience any bugs, please first consider which area the bug is coming from. If the Studio plugin errors, please report it here in this DevForum post. However, if the backend server is the error, please refer to the GitHub page for reporting issues there.

Planned Features

  • Add support for re-uploading animations — if you know of an endpoint for re-uploading animations, please let me know!
Have a feature you want to see implemented? Suggest anything in this topic or send me a message on the DevForum!

Credits

@Sol_ttu - UI, Logo and general feature requests

15 Likes

Using this for the past few months has been a blast. The process of bringing animations from your editor to your game has always been a bit of a hassle and honestly quite a discouraging bump in the whole process of animation. Delighted to say that the little bump in my workflow has been shaved off with the inclusion of this now in my collection of plugins. Amazing piece of software. Highly recommended for all animators!

3 Likes

This NEEDS to just be a normal part of studio, thank you so much!!!

2 Likes
Animation Server - V1.0.1
  • Fixed a bug that caused a timeout to occur that some users might have ran into
  • Reduced ROBLOX request timeout since this no longer seems to be necessary


Plugin Updates
  • Fixed a bug where screen transitions could fail to run fast enough

For any current users of the plugin, be sure to update to the newest of both the plugin and the server! You can find the new server version here.

I keep running into this issue & I’m unable to get the plugin to work, any assistance would be appreciated.

1 Like

Can you send the server’s logs when you get the chance? Go to the tray item and press Open Logs (you might have to try again to get the error to show up in the logs).

You can also try to allow the program through your firewall, as the warning that you’re receiving could be from either the request failing to send to ROBLOX (firewall issue), or there’s an issue with how you’re authorized on Studio. I can help further once you’ve sent over those logs if the issue still persists after allowing it through your firewall.

I checked and it was already allowed through the firewall, I think it’s mostly studio related.
If it helps I did, at the time, have two accounts logged into studio (I used this account to utilize the plugin). I even tried re-installing studio to see if that would work, to no avail.

This is the one that mainly pops up


This one appeared when i tried switching from my main → Alt → Main

2025-04-11T23-30-19.543Z.log (475 Bytes)
2025-04-11T17-27-43.107Z.log (490 Bytes)

1 Like

Alright, I was able to replicate the issue and figure out a fix:

  • On Studio, fully log out of at least your main and alt account (if you have other accounts, this shouldn't matter too much). Ensure that you're logged out of both by closing and opening Studio and ensuring that it's not logging back in or listed in the account switcher list.
  • Then, log into your alt account FIRST through the Login via Browser option. This can be accessed by logging into your account on roblox.com and pressing Edit in Studio button from one of your game's pages. This should prompt the log in feature for logging in via browser or studio. Make sure you pick browser.
  • After successfully logging in, you should be brought to the game that you wanted to edit. Confirm that you are still logged in on the account by closing studio and re-opening it normally (without using Edit in Studio). If it says that you still need to log in (or you're logged in on the wrong account), redo the steps to log in via browser until it works (I had to restart my computer at one point, so that might help if you repeatedly get the error where it says you need to log in again).
  • After you've confirmed that you're logged in on your alt, repeat the steps for your main account next. Again, going through the Edit in Studio option, and confirming that you are in fact logged into studio even after closing and re-opening. Once you have confirmed that you are in your main account, the plugin should allow you to connect freely.

I’ve tested this myself, and it works well, so if you have any issues with it, be sure to read carefully, or ask me here if you need more clarification on the steps. I’ll be adding a more comprehensive version (with images) to the GitHub issues list to provide a solution to other users that might run into this.

Finally, once you’ve logged in this way, make sure that whenever you need to switch accounts, you use the Studio account switcher. The way Studio authorizes accounts seems to be tied to the last account that was logged in via browser, so if you log in with another account via browser, that new account will be the one that the Animation Server is going to be trying to connect with.

Thanks for bringing this to my attention, and I hope this helps! :heart:

Still happening for me unfortunately, is there anyway for me to input the cookie directly?

I appreciate the help so far.

Hmm, this is strange. From what I can tell, you’re doing everything right. I’ve tried it a couple of times myself and the authentication seems to be a bit finnicky at times. Can you try it a couple of times to ensure that is not working at all?

If you’ve done it a couple times and it still doesn’t work, I can add in a feature to input the cookie directly. I thought about adding it previously but decided against it as it felt like a security risk as you’d have to basically store it in plain-text, but if it’s the only solution, then I can add it (though in hindsight if a malicious actor already has access to your filesystem, it’s more likely they have a direct route of retrieving the cookie than through a very small edgecase in this plugin).

So again, try it a couple of more times (and maybe restart your computer when signing out/in to ensure the changes go fully in effect, or even restarting the Animation Server in case there’s some weird caching going on), and if that still doesn’t fix the issue, I can add a feature to input it directly. Sorry about all the troubles, this is a bit of a weird bug to “fix”.

it literally made my animation module via keyFrameSequence pointless, lol. Great job! (I’m talking about the plugin)

All good, I appreciate the effort so far regardless, but yeah it’s still happening sadly. :sob:

I’ve tried restarting my PC a few times, removing it from the firewall & re-adding it, re-extracting the files, etc.

Hopefully a resolution can be found.

1 Like

Alright, I’ve added the feature to directly override the cookie. There’s a new release of the Animation Server here, and here’s the tutorial for how to set your cookie override.

Let me know if you have any more issues with the plugin!

Thank you so much! It’s working perfectly now, thanks for your time. This is going to save me a lot of time now! :grin:

1 Like

Small suggestion, would you ever consider making the plugin compatible with “.rbxanim” files?

They’re pretty much the same thing blender puts in your clipboard, except it’s saved as a file for batch uploading.
image

1 Like

Sure thing! Just pushed out an update with some new UI changes and this as a feature. Should’ve originally been added in hindsight, but I only very recently learned of the forks of the original Blender animation plugin, and I’ve only used/worked with the original.

Thanks for the suggestion! :heart:

1 Like