Written by: Nuno Leiria, Founder & CEO @ Nilo
Key Takeaways
- Pick your rig target (R15, R6, or Custom Humanoid) before you export from Blender. This single choice prevents most broken rigs.
- Export as FBX with specific settings: Embed Textures on, Add Leaf Bones off, Apply Scalings set to FBX Unit Scale, and Bake Animation on.
- Import through Roblox Studio’s Avatar tab 3D Importer, match the Rig Type to your target, then confirm the joint hierarchy before you test animations.
- Fix problems by symptom. Frozen animations usually mean missing Humanoid objects. Wild mesh deformation usually points to bad weight painting or leaf bones in the export.
- Nilo gives you a browser-based path that skips the Blender round-trip for simple humanoid characters, with one-click rigging and direct Roblox export.
Prerequisites: What You Need Before You Export
This guide speaks to aspiring builders or already builders like you who feel comfortable in Roblox Studio and either have a rigged mesh in Blender or plan to make one. Learn a few terms before you start:
- Rig — the skeleton of bones inside a 3D model that lets it move and animate.
- R15 / R6 — Roblox’s two standard avatar rig types. R15 uses 15 body parts and supports modern animation. R6 uses 6 blocky parts and follows an older, simpler format.
- Custom Humanoid — a non-standard character body you build yourself. You must give it a Humanoid object with an Animator child and a HumanoidRootPart inside Roblox Studio before it will animate.
- FBX — a file format that carries a mesh, its skeleton, and animation data together. OBJ cannot carry a rig.
- HumanoidRootPart — the invisible root part Roblox uses to move and orient a character.
- Polycount — the number of triangles in a mesh. Roblox caps characters at 20,000 triangles per mesh.
Roblox Studio is where you publish and play. Blender is where you rig and prepare the mesh. The handoff between them is where most exports break. Keep the Roblox Creator Hub “Export character bodies” and “Import character bodies” pages open as official references while you work.
Step 1: Choose Your Rig Target Before You Export (R15 vs. R6 vs. Custom Humanoid)
Decide your rig target before you open Blender’s export menu. This choice shapes how you build and name everything.
If you’re targeting R15: your mesh must be split into exactly 15 body-part meshes. These parts run from Head and UpperTorso down to RightFoot. Bone names must match Roblox’s expected naming so the Avatar Importer maps them correctly. That naming matters even more since March 2026, when Roblox’s Avatar Joint Upgrade added optional detail bones for clavicles, spine, neck, wrists, fingers, and toes on top of the standard 15-part structure. R15 also gives you modern animation and Marketplace compatibility.
If you’re targeting R6: your mesh uses 6 parts and the importer expects the older joint structure. This path feels simpler and lighter, but it limits modern animation options and Roblox’s newer avatar features.
If you’re targeting Custom Humanoid: you keep your own skeleton. You then add a Humanoid object with an Animator child and a HumanoidRootPart inside Roblox Studio after import. You also confirm the joint hierarchy before you test anything. A common mistake keeps the first bone in the armature away from center, which causes the RootPart to import offset from the ground. Add a dedicated root bone at ground-center before export.
Export settings change mainly around bone naming and whether you export a full body or a body plus attachments. R15 also requires 30 WrapTarget cage objects, one OuterCage and one InnerCage per body part, if you want layered clothing.
Skip rig-target guesswork and start building in Nilo
Step 2: Export a Rigged Avatar From Blender to Roblox
Open Blender’s FBX exporter and set each option below. Older tutorials point to menus that no longer exist, so confirm you are in File > Export > FBX (.fbx).
Roblox’s official Creator Docs recommend this export sequence:
- File format: FBX — carries mesh, skeleton, and animation together in one file.
- Path Mode: Copy — embeds textures so they travel with the file instead of breaking as external references.
- Embed Textures: On — prevents missing-texture errors on import.
- Custom Properties: On — preserves metadata Roblox Studio’s importer can read.
- Apply Scalings: FBX Unit Scale — avoids Blender-to-Roblox scaling mismatches. Use this if your project does not already use 0.01 scene-unit scaling.
- Add Leaf Bones: Off — extra leaf bones confuse Roblox’s importer and can collapse the rig or create unexpected hierarchy nodes.
- Bake Animation: On — bakes a single clean animation take.
- NLA Strips: Off — keeps stacked NLA actions from confusing the importer.
- All Actions: Off — exports only the animation you intend.
- Force Start/End Keyframes: Off
- Simplify: 0.0 — disables curve reduction so the animation stays accurate.
Set your animation timeline’s Start and End values so they cover the full animation before you click Export FBX.
Also check: Blender’s FBX exporter uses Y Forward, Z Up by default, while Roblox expects a different axis orientation. If your character imports rotated, set Forward to -Z Forward and Up to Y Up in the Transform section.
Step 3: Import the Rigged Avatar Into Roblox Studio
For rigged characters, use the Avatar tab’s 3D Importer path in Roblox Studio. The Home > Import 3D path is for static models only. Pick your FBX file, set the Rig Type to match your target, then click Import.
The Scale Unit setting in the importer defaults to Studs. If you modeled in centimeters or meters, change this setting to match your unit. Leaving it on Studs when the file uses centimeters creates a knee-high character.
As of 2026, the importer’s Rig General tab includes a Constraint Type option. You can choose Joint Upgrade (AnimationConstraints) or Legacy (Motor6Ds). Joint Upgrade is the default and you need it when your rig uses bones that connect different body parts. If you import with Motor6Ds and your rig has bones, animations will not play back correctly.
For a Custom Humanoid, after import you add a Humanoid object with an Animator child and a HumanoidRootPart in Studio. Then you verify the joint hierarchy. Confirm that bones are parented correctly, that the root part sits at the character’s base, and that the mesh is skinned to the skeleton instead of parented rigidly.
Import once, animate quickly — try Nilo’s open beta

Step 4: Troubleshoot by Symptom
When something breaks, search by what you see on screen instead of where you are in the process.
Rig Imports but Won’t Animate
If the character appears in Studio but stays frozen when you play an animation, the cause is usually structural. A Custom Humanoid may miss its Humanoid or HumanoidRootPart, or bone names may not match the target rig. You should also confirm that you imported with the correct Constraint Type. Motor6Ds do not support Bones, so a rig with bones imported as Legacy will not animate correctly. Add the missing objects, rename bones to match R15 or R6 conventions, then re-import.
Mesh Deforms Wildly When Animated
If limbs collapse, twist, or drag the whole body when a joint moves, the problem usually lives in skinning. Weights may be wrong, leaf bones may have slipped into the export, or a vertex may have no weight assignment and follow a random bone. Every model vertex needs a bone assignment, even if it never moves. Re-check weight painting in Blender, turn Add Leaf Bones off, then re-export. Keep each vertex to four or fewer bone influences.
Accessories Sit in the Wrong Place
If hats, wings, or armor float away, clip through the body, or attach to the wrong limb, the pivot or attachment setup needs work. The accessory’s pivot may not align to the attachment point, or the attachment name or parent body part may be wrong. Roblox treats joint attachments and accessory attachment points differently, and mixing them makes accessories float or fail to equip. Reposition the pivot in Blender before export, or snap the accessory to the character’s attachment point in Studio. Confirm that attachment names are case-sensitive and match Roblox’s expected naming.
Textures or Collision Feel Wrong
If you see a grey, untextured mesh in Studio or collision behaves strangely, the export probably dropped material data. An FBX exported without embedded textures leaves PNG maps behind as separate files. Use FBX with Embed Textures on, or export as GLB, which carries textures inside a single binary file. For PBR maps, add a SurfaceAppearance object under the MeshPart in Studio and fill the color, normal, metalness, and roughness slots.
Rig Structure Looks Wrong in Studio
If the import succeeds but the rig structure looks off in the Explorer or the Avatar Importer cannot map the bones, the skeleton likely was not set up for your target. The mesh may have exported as a single object without a real skeleton, or you may never have chosen a rig target. Go back to Step 1, pick your rig target, match bone naming to Roblox’s conventions, then re-export.
Character Imports at the Wrong Scale
If your character appears knee-high or giant-sized, the units do not match. Modeling units and Roblox studs often differ. Set the Scale Unit in the Studio importer to match the unit you used in your modeling tool, or apply the correct unit scale in Blender before exporting.
Step 5: FBX vs. OBJ vs. GLB for Roblox
FBX works best for a rigged avatar. OBJ cannot carry a rig, skeleton, animation data, or PBR textures, so it only suits a single static prop. If you export a rigged character as OBJ, the skeleton stays behind.
Roblox’s documentation confirms that both FBX and glTF support animation data for import into Roblox Studio. GLB, the binary form of glTF, packs textures into a single file and keeps things tidy. Compare them like this:
- FBX — carries mesh, skeleton, and animation, works in many tools, and gives you detailed control. You need to embed textures manually.
- GLB — carries rigs, skinning, and animation, and bundles textures automatically into one file. Some Studio import sections, such as Animation General, stay hidden when you import glTF, while FBX shows them.
- OBJ — suits static props only and carries no rig, animation, or PBR data.
FBX remains the safest choice for Roblox’s Avatar Importer when you need full rig and animation support. GLB feels worth testing for static or lightly animated assets where texture bundling matters more than animation options.
Related Workflow: Export a Roblox Avatar to Blender
Sometimes you need to go the other way and pull an existing Roblox avatar into Blender for edits. You export the avatar from Roblox Studio in a format Blender can read, usually FBX or OBJ, then import it into Blender and clean up scale and bone orientation.
Watch for these issues:
- Scale mismatch — Blender and Roblox both use meters as a base unit, but Roblox studs do not map one-to-one to Blender meters. Roblox’s FAQ gives a stud-to-meter conversion. Use that conversion to correct scale on import.
- Flipped normals — surfaces may appear inside-out in Blender. Fix them with Mesh > Normals > Flip in Edit Mode.
- Bone roll differences — Roblox and Blender treat bone orientation differently. You may need to correct bone roll in Blender’s Edit Mode before you paint weights or animate.
Build and export Roblox-ready avatars in your browser
Step 7: When To Skip Blender Entirely
For simple props, accessories, and bipedal humanoid characters, the FBX round-trip through Blender often adds work without helping you. Blender shines when you need full manual control over a complex custom skeleton, detailed UV work, or careful texture cleanup. For many everyday assets, that level of control feels like overkill.
Nilo is a standalone, browser-based platform for creating Roblox-ready 3D assets, with no install and no plugin. It removes the Blender round-trip for assets that do not need it. Here is what that looks like in practice, from first idea to export:

- AI text-to-3D and sketch-to-3D generation — you describe or draw what you want and get a 3D model without opening any modeling software.
- One-click rigging — once the model exists, you rig bipedal humanoid characters in a T-pose with a single click. As one builder said in Nilo’s February 2026 Survey, “There are no limits on what you can create — just type, draw or add in an image and you can generate, rig, customise and place a fully 3D model within minutes.”
- AI-generated animation from a text prompt — you type what you want the character to do and Nilo generates the animation for you.
- Real-time LOD system — Nilo adjusts polygon counts on the fly so your exports stay within the per-mesh cap mentioned earlier.
- Export formats — you can export to FBX, OBJ, STL, glTF, or RBXMX. RBXMX is Roblox’s native format and packs textures and attachments into a single file without a subscription. You can also connect your Roblox account and export straight into a Roblox experience using your own API key.
Nilo focuses on bipedal humanoid rigs, not quadrupeds or creature rigs. You still set up 3D layered and cageable Roblox clothing in Roblox Studio. Nilo handles asset creation, and Roblox Studio remains where you assemble and publish the experience.

Measuring Success
A successful export shows these signs:
- The rig animates in Studio without strange deformation.
- Accessories stay attached at the correct pivot point.
- Textures and colors appear as expected, with no grey mesh.
- The character’s polycount respects the per-mesh cap you saw earlier.
Use this as your checklist: import the avatar, test one animation, check the joint hierarchy in the Explorer, confirm textures, then confirm polycount. Treat the first working export as the start of a repeatable workflow you can reuse for every character.
Advanced Export Habits and Iteration
Once you have a working export, save your Blender FBX export settings as a preset so you do not reconfigure them for every character. If you work on a team, agree on bone naming conventions before anyone starts rigging. Inconsistent names across teammates cause import failures that feel random.
When you need both R15 and Custom Humanoid targets from the same base mesh, keep bone naming R15-compatible from the start. Adding a Custom Humanoid layer on top of an R15-named skeleton feels easier than forcing R15 names onto a custom skeleton later.
When something breaks, change one setting at a time and re-import so you can see which change fixed the problem. Changing several settings at once hides the real cause. You know you are ready to move beyond the basics when you can export a rigged avatar without checking the settings list.
Save your export preset, then try Nilo’s browser workflow
Frequently Asked Questions
How Long Does It Take to Export a Rigged Avatar to Roblox?
The export itself takes only a few seconds once your settings are correct. Most of your time goes into preparation. You verify bone names, apply transforms, check polycount, and set the animation timeline range. For a first export with a new rig, plan 30–60 minutes for setup and troubleshooting. Later exports of the same rig take only a few minutes once you save a working preset.
Do I Need to Know How to Code to Export a Rigged Avatar?
You do not need to code for this workflow. Exporting a rigged avatar from Blender to Roblox Studio stays inside 3D tools. You only need to navigate Roblox Studio’s interface to verify the rig after import. That means clicking through the Explorer panel, not writing Lua. Scripting matters later if you want to trigger animations with code inside a game.
How Do I Export a Rigged Character Without Breaking the Rig?
Decide your rig target first, then lock in a clean export routine. Apply all transforms in Blender before export with Ctrl+A → All Transforms. Turn Add Leaf Bones off, embed textures, and set Apply Scalings to FBX Unit Scale. After import, confirm the joint hierarchy in Studio’s Explorer before you test any animation. If the rig breaks, use the troubleshooting section above and change one thing at a time.
Why Does My Rigged Model Deform When Animated in Roblox Studio?
Most deformation problems come from weight painting. Common causes include incorrect weights in Blender, leaf bones included in the export, vertices with no bone assignment, or more than four bone influences per vertex. Check your weight paint in Blender’s Weight Paint mode and confirm every vertex has a valid assignment. Turn Add Leaf Bones off in the FBX exporter. Keep bone influences to four or fewer per vertex. Re-export and re-import after each fix so you can see what worked.
How Do I Export a Roblox Avatar to Blender?
Export the avatar from Roblox Studio as FBX, then import that file into Blender. Expect to correct scale using the stud-to-meter conversion covered above, check for flipped normals, and adjust bone roll if you plan to animate or re-rig. Blender opens the file, but bone orientation and scale conventions differ between the two tools, so a cleanup pass feels normal before serious work.
What Is Roblox’s Polygon Limit for Characters?
Roblox enforces a 20,000-triangle maximum per individual mesh. Rigid accessories use a lower ceiling of 4,000 triangles. A full R15 avatar body for UGC Marketplace submission is capped at 10,742 triangles total across all 15 parts. The importer rejects any mesh that exceeds the per-mesh limit at import time.
Can I Export a Rigged Avatar to Roblox Without Using Blender?
Yes. Blender is one option among several. Nilo is a browser-based platform that covers the same steps you saw in Step 7 without any Blender installation. For simple props, accessories, and humanoid characters, this removes the Blender round-trip entirely. For complex custom skeletons where you want full manual control, Blender still fits better.
Try Nilo’s open beta and start building and playing for free


