Rig Visualization in 3D Importer

Hey Developers,

We are excited to announce the latest QoL improvement to the 3D importer: Rig Visualization in the import preview! This visualization creates a skeleton highlighting attachments and their relationships to each other in the importer’s 3D preview, helping you ensure that your rigs are properly interpreted before committing to an upload. Here’s what this looks like:

Figure 1: Rig Visualization on Root Node

How to enable

This feature can be toggled on and off from the root node of a model either through the rig settings panel or through a button in the corner of the preview window. Rig Visualization will also surface after selecting any joint within the model hierarchy and highlight the selected joint within custom rigs.

Figure 2: Highlighting specific joints within custom rigs

We’re excited to continue working on features that improve the importer user interface and help our creators bring experiences to life!

A big thanks to the engineers who worked on this project: @georjozh, with mentorship from @iridiumegg and @itsFrank17.

Please let us know if you have any questions or experience issues with the feature as we hang out in the comments.
Happy visualizing!


This topic was automatically opened after 10 minutes.

The 3D importer is one of the top 10 best tools roblox has added for us devs, but it’s still lacking heavily.

For one, it fails to import very often, I am unsure of the cause but the issue is very prominent when importing larger 3D files, the assets do actually upload (I can see them in my profile) but it’ll fail regardless at times, uploading in a different roblox studio instance and copying it seems to remedy the issue just a bit.

It’s also very laggy especially with larger files, everytime you change any setting in the importer the viewport refreshes which can take ages with larger files.

And another important QoL thing it needs to have is for it to be able to remember the options I had ticked in my last import, I dont want to keep pressing ‘Anchored’ everytime I try to import, especially when it’s so susceptible to failing so i’ll have to tick the values over and over again until it imports.


At least, it’s a step in the right direction for Roblox. Glad to see this being added!


Nice, thank you, I am working on some skinned meshes and this will definitely help me.


I do have some good news for you on most of these:

it fails to import very often

The upload user experience is the weakest part of the product IMO, it’s not currently scheduled but we have plans to significantly improve it, hopefully this year.

It’s also very laggy especially with larger files

Yep, this is a flaw in the design of our setting system, engineers are working on this as we speak. I don’t have a clear timeline but expect improvements here soon™

And another important QoL thing it needs to have is for it to be able to remember the options I had ticked in my last import

Hehe, this feature is complete and in final testing, should release very soon™™

Please keep this feedback coming, it is super helpful to us!


Fantastic news, more and more devs are making assets outside roblox, so a better 3D importer will hugely improve the worflow for everyone!

Hopefully the upload issue gets improved this year, thank you for your work!


Great update. Can we get this for rigging elements in blender and importing them to studio? Would save a lot of hassle.


Actually I do have another good optimization that should ideally make it to the 3D importer in the future™

An FBX can have multiple objects with the same data, in Blender you can achieve that by duplicating an object by pressing AltD, which will duplicate the object but not its data

That means when I am to import those two cubes, the importer should be able to recognize that they share the same data and give the two meshparts the same id, similar to how the importer handles materials already, it doesnt reupload the same textures just because they exist on another mesh, it uses the same textures which is nice.


Glad to see we’re getting more control on how we import 3D models and visual aid, instead of importing stuff blind. I have a question that isn’t directly related to this update but is still related to 3D importing.

Is it possible to add some sort of option to recalculate mesh collision fidelity in studio? I tend to find that when I’m importing meshes, sometimes the collisions can be really funky and to try and fix it I have to reimport over and over until the collisions are suitable (This impacts PreciseConvexDecomposition the most, but sometimes Default too).

Tub Mesh
A tub mesh

Default Collision
The default collision fidelity

Precise Collision
Bad PreciseConvexDecomposition calculation (Hole is covered)

Also noticed there’s a collision fidelity enum called 'DynamicPreciseConvexDecomposition` in the docs, is this related to dynamic meshes or something else entirely?


Currently we have a similar feature to visualize rig structure within the animation editor plugin by clicking on a model in the workspace. This update adds that functionality to the import preview!


I agree! Something I’d like to have is the ability to tick off all boxes on a FBX containing multiple meshes without it deciding not to import anything. Currently, I have to manually tick off all boxes one by one to import a specific mesh I changed for things like vehicles and weapons.


Feel free to DM me the model for further investigation! As far as I can tell ‘DynamicPreciseConvexDecomposition’ is unused currently but that may change in future updates. I understand that this may seem somewhat arbitrary but let me see if I can reproduce these issues.


Finally, this will make testing whether the rig contains bones easier than having to import and open the animation editor.

Thank you very much, Roblox. These improvements are great. Keep up the excellent work.


Yeah this is something we’ve had on our radar for a bit, the reason we haven’t tackled it yet is that there is a product consideration.

The behavior of Roblox importers “forever” has been that MeshParts come in with 0 scale and 0 rotation applied, deduplicating meshes would require us to change that. I have a feeling the majority of users would actually prefer deduplication, but we still need to be thoughtful about how we do this and likely have an option to choose if you want to dedup or not.

The recent release of the glTF import beta feature brought this back into the spotlight because glTF is pretty good at doing this too.


I have an issue with the current importer. When I try to import an 8MB mesh file, my RAM usage spikes up to VERY HIGH levels (16GB of RAM usage) and it hinders my ability to even use the importer because it freezes up for quite some time.


Hi, I would really like to ask you to improve the usability of the 3d importer

1 - The ability to scroll the information about the model to view the lower part, I need to hide the rest of the information, I demonstrate it in the video
2 - The ability to select several objects at once in order to change their properties
3 - Make the function Use imported Pivot in all meshes, as was done with “Anchored” I had to manually select 100 objects each by 1 to turn on this icon, you can’t imagine how terribly painful it is, especially if the model then cannot be imported and you have to do it for a long time - pain

Here’s a video where I demonstrate the flaws


Here’s a video where I demonstrate the flaws


How did you apply the DynamicPreciseConvexDecomposition fidelity? Did you enable an fflag for it?

Original message was deleted.


My bad! I completely misread and thought it was DynamicPreciseConvexDecomposition instead of PreciseConvexDecomposition


Hey there! I wanted to give some info on these issues:

1 - The ability to scroll the information about the model to view the lower part, I need to hide the rest of the information, I demonstrate it in the video

A fix for this is live and you should be able to see the change in Studio!

2 - The ability to select several objects at once in order to change their properties
3 - Make the function Use imported Pivot in all meshes, as was done with “Anchored”

A feature that helps with these is in final testing and we hope to release it soon. You’ll be able to apply a node’s settings to all others of its kind. We’ll also be expanding this feature to be more powerful and give you better, faster control over your import settings.

Thank you so much for using the Importer and taking the time to give feedback. Usability is super important to us and hearing what would be useful from devs really helps us improve!