Free tool · nothing is stored
Is this mesh ready to be rigged?
Roblox rigging starts with the geometry: a Motor6D joins two distinct parts, so a single welded shell has nothing to joint until it is split. Drop the GLB or OBJ here and read the four signals the file carries (pieces, pivot, stud size, triangle count), each labelled with whether it is a Roblox rule, a Studio convention or a heuristic of this tool.
Drop your mesh here, or pick a file
GLB or OBJ · up to 15 MB · processed in memory, never stored
Pieces, not polygons
A Motor6D connects two distinct parts. The checker counts the edge-connected pieces in your file, which is the number of candidates for parts, and says plainly when that count is one: then the geometry has to be split before a part-based rig can joint anything.
Bottom-center is a convention
This site normalizes every generated asset to a bottom-center pivot, and it makes placement predictable. It is not a Roblox requirement: a joint position comes from the C0 and C1 offsets you set on the Motor6D, so a mesh with its pivot elsewhere rigs too, its offsets just have more to absorb.
What this cannot do
It does not create joints, bones or skin weights, and it cannot see the rig you have in mind. It measures the file, labels each signal with what that signal actually rests on, and hands the decision back to you.
Rigging: common questions
How do I know if my mesh can be rigged in Roblox?
Roblox gives you two routes: separate parts joined with Motor6D, or one MeshPart animated through bones (skinning). This checker counts the separate pieces in the file, which is what the first route needs, and reports the pivot, stud size and triangle count alongside it. A single-piece mesh can still be animated through bones; it just cannot be jointed as parts the way it stands. Nothing inside the file can tell the tool which of the two routes you intend.
Why does a mesh need more than one piece for Motor6D?
Motor6D is a joint: it connects Part0 to Part1 and moves one relative to the other, so it needs two distinct parts to hold onto. A mesh that arrives as one edge-connected surface has nothing to joint until the geometry is split into the pieces your rig moves, imported separately (or split in Studio), and jointed with a Motor6D per pair.
Where should the pivot be for rigging?
There is no Roblox requirement here. A bottom-center pivot is the convention this site normalizes to, and it makes placement and joint offsets start from a known point. Joints themselves are positioned by the C0 and C1 offsets on the Motor6D, so a mesh with an off-center pivot rigs fine; the offsets simply have to absorb the difference.
Does the triangle count limit rigging?
No. Studio does not refuse to joint a heavy mesh. What the count decides is whether the mesh imports at all (the MeshPart ceiling is about 21,000 triangles) and how it performs afterwards, and an animated mesh is re-posed every frame, so the 10,000 target matters at least as much after rigging as before it.
Can this tool create the rig or add bones?
No, and it does not try. Joints, bones and skin weights are authored in Studio or in a tool like Blender, and rigging is a modelling job rather than a file check. This page measures the four signals a mesh file carries that decide how much of that job is geometry work before you start.
Want the rest of the receipt? The mesh checker reports the triangle budget, texture, normals and collision structure of the same file.
Rigging pairs with placement: the Pivot Wizard returns a bottom-center version of any mesh as a Studio ZIP, and the Scale Fixer resizes one to an exact size in studs.