Roblox has been intentionally sabotaging the R6 avatar style for what feels like the time since R15 was originally added to the game. Every new avatar feature Roblox has added bar UGC has been excluded from R6. Sometimes these exclusions are made arbitrarily, like MeshPart
heads and accessories, and by extension, dynamic heads. This presents a challenge to the many developers who prefer R6 to R15 as a stylistic choice: the players who prefer their full avatar to a reduced version they had no intention of ever playing as. Ever since Roblox’s reveal of their insultingly bad “R21” rig, as I like to call it, and their plan to use it to deprecate R6 entirely, this problem has been amplified. This plugin’s original goal is to at least partially resolve the issue for R6 developers desiring better favor from players and Roblox itself. Similar plugins exist, but unlike 6to15, which aims to join the old with the new, these plugins are made with the intention of replacing the look and feel of R6 entirely. They include inverse-kinematics, which look fine, but can be very different from the animator’s intentions. Others still are paid plugins. 6to15 also includes features that no other plugin does, like converting between theoretically any two rigs, and Multi Animations that play on several rigs.
How To Use
Click the button in the Plugins tab to open the 6to15 menu. Select the rig your animation was made for in the “Source Rig” category, and the rig you want to convert to in the “Target Rig” category. To use a rig other than R6 or R15, you may select your rig in the explorer and click the third “Select…” option to select it. Toggle “Overwrite Unused Joints” and “Create Multi Animation” based on your use case. Select your AnimationClip
s in the explorer, and then click convert. If you used any custom rigs in your configuration, you will be presented with the Binding Creator, which allows you to bind limbs on the source rig to limbs on the target rig for conversion. When converting between R6 and R15, these bindings are preset. Once the conversion is complete, your new animations will be selected in the explorer. It is recommended to keep backups of your original animations to avoid precision errors that may arise with converting the same animation over and over again.
Settings
Source Rig: The rig that the animation you are converting was designed for
Target Rig: The rig that you are converting an animation to play on
Overwrite Unused Joints: Joints in the Target Rig with no bindings from the Source Rig will be populated by empty animation data. In the R6 to R15 use case, this means that hands, feet, and lower arms and legs will have their translations overwritten.
Create Multi Animation: Multi Animations are animations that play on both the source and target rigs. They are extremely volatile and should not be opened in any animation editor.
Issues
-
Easing between keyframes will appear different on the target rig than on the source rig. The keyframes themselves appear identical between rigs. This is impossible to fix.
-
Some machines may have a hard time running the plugin and take several minutes to convert particularly heavy animations.
-
Multi Animations will not play correctly when using
CurveAnimation
s. This is due to a Roblox bug that was fixed in 620, but as of the time of writing, the fix is still pending.
If you find any other issues, please report them to me either in a reply to this thread or in my private messages.
Download
This plugin is available for free at https://www.roblox.com/library/14664322242/6to15
Demo
Final Thoughts
I hope there are developers that find this tool useful. Using it, you can make a visually R6 game compatible with layered clothing, facial animations, avatar scaling, emotes, mesh deformation, and whatever else Roblox decides to add to R15 avatars. Most R15 packages playing R6 animations, to the untrained eye, are indistinguishable from their R6 counterparts, except for the 1.0 rig. I recommend using a custom rig for 1.0 avatars if this type of precision is important to you. If I had one, I would share it here. If you plan to modify the default R15 animate script, know that the R15 animate script plays back animations at a different speed than the R6 animate script, so make changes accordingly.
Changelog
5/7/2024: Added --!native
to the plugin module on the speculation that it could make the plugin run faster on some devices.
2/3/2024: Rewrote a large portion of the plugin. Added support for CurveAnimation
s. Added a GUI for ease of use and selecting new options. You may now convert from R15 to R6, or to and from any two arbitrary rigs. Added the “Overwrite Unused Joints” option and the “Create Multi Animation” option.
12/2/2023: Resultant animations are now viewable and editable in Moon Animator 2 (and possibly other third party programs if they had a similar bug). If this is functionality you need, update the plugin and reconvert your KeyframeSequence
s. Thanks to @Fifkee for reporting.