How-to · Engines
AI 3D Models for Roblox: Limits, Formats and Moderation
Roblox's documented limits for imported meshes: 20,000 triangles, 4 bone influences, accepted formats and texture sizes, plus what is unconfirmed about AI rules.
The one hard number every AI-generated Roblox mesh has to meet is this: “Individual meshes can not exceed 20,000 triangles.” A raw generator mesh may need reduction first, and an avatar item has to meet a much lower budget than that. This page lists only limits that Roblox’s own docs state and says what they leave unanswered. None of the pages read shows a last-updated date (only “©2026 Roblox Corporation”), so confirm against the live docs.
Which budget applies to your asset
Roblox’s triangle ceiling depends on what the asset is, so settle that before you reduce anything.
| Asset | Triangle limit | Textures | Other documented requirements |
|---|---|---|---|
| General mesh (props, scenery) | 20,000 per individual mesh | Up to 4096×4096 | One material per mesh; single UV set in 0:1 space |
| Rigid accessory | “can’t exceed 4k triangles” | Marketplace: up to 2048×2048 | Single mesh; maximum sizes in studs per accessory type |
| Layered accessory | “can’t exceed 4k triangles” | Marketplace: up to 2048×2048 | Single mesh; clothing fits an 8×8×8 stud limit; needs cages |
| Character body | 10,742 total, split by asset | Marketplace: up to 2048×2048 | 15 named mesh objects; 4,000 for the head, 1,750 torso, 1,248 per limb |
Vendor guides do not all match these figures, which is a reason to read the docs rather than a blog. Nilo’s September 2026 article gives “roughly 21,000” per MeshPart, a 10,000 cap for UGC accessories and a 1024×1024 texture cap for standard accounts, none of which appear on the Roblox pages above. Generator presets aimed at Roblox are vendor choices too: Sloyd’s documentation lists a Roblox Character preset of 10k triangles with 1k textures and a Roblox Accessory preset of 4k triangles with 512 textures.
The 20,000 figure is per individual mesh, so a model split into parts is not capped at 20,000 overall. Neural4D’s guide makes the same point. Roblox’s docs do not say what happens when several parts combined with the Importer’s Merge Meshes option exceed the limit, so leave that option off for a split model unless you have checked the total.
Geometry rules generator output often breaks
Roblox’s General specifications page sets rules that matter more for generated meshes than the triangle count does:
- “All geometry must be watertight without exposed holes or backfaces.”
- “Meshes must be in quads where possible,” under a heading that rules out N-gons.
- “Meshes cannot be 0 thickness and must have some volume.”
- “A vertex can not be influenced by more than 4 bones or joints.”
- Bones or joints must be frozen, with scale at 1, 1, 1 and rotation at 0, 0, 0; the root bone or joint should sit at 0, 0, 0, with no influences applied to it.
- Only a single animation track can be exported with a mesh; multiple animations need separate exports.
Check a generated mesh for open shells and floating pieces before you reduce it, because a reduction will not close them. Flat cards used for hair, leaves or cloth are the likely conflict with the volume rule, an inference from the wording rather than something Roblox says about AI meshes. The repair route is in fixing holes and floaters.
Formats, and which one Roblox steers you toward
Roblox’s Importer page says: “You can import meshes in the .fbx, .obj, or .gltf format.” It adds that .fbx and .gltf support multiple mesh objects, hierarchies, PBR textures, cages, rigs and animation data. The Export settings page goes further: “Export your mesh or model as a .fbx to take advantage of all of Studio’s 3D import features.”
The same Importer page has a comparison table headed “.gltf / .glb”, so .glb is referenced there, though the format list itself names only .gltf. The practical difference for a generator download is the hierarchy. An .fbx brings in a MeshPart directly inside a Model. A .gltf or .glb brings in a Model inside the Model, “containing one MeshPart for each primitive in the glTF mesh”, so a model with several materials can arrive as several parts. For the wider choice see GLB vs FBX vs OBJ. A generator offering FBX or GLB export does not mean the file will satisfy the limits above.
Accepted image formats are listed as “.png, .jpg, .gif, .tga, or .bmp” and audio as “.ogg, .mp3, .flac, or .wav”. The separate Asset Manager route is for bulk imports but does not support meshes with rigging, skinning or animation data.
Importer settings worth checking
Open the Importer from Studio’s File menu, choose Import, and select your file. The import preview shows a hierarchy, a 3D view, and File Geometry with the file’s dimensions and polycount, which is the quickest place to read the count Roblox sees. Warnings appear on the affected object, so expand the hierarchy until you reach it.
| Setting | Documented default | Why it matters for a generated mesh |
|---|---|---|
| Scale Unit | Studs | Set it to the unit the file was modeled in. Roblox’s units page gives 1 stud as 28 cm for physics; the Importer page does not state the factor it applies |
| World Forward / World Up | Front / Top | Change these if the mesh arrives facing the wrong way |
| Set Pivot to Scene Origin | Enabled | Sets the whole model’s pivot to the scene origin |
| Upload to Roblox | Enabled | Turn off while trying things, to avoid piling up copies in the Toolbox and Asset Manager |
| Add to Workspace | Enabled | If off, the asset goes to inventory only and the game gets no permission to use it |
| Invert Negative Faces | Disabled | Inverts the orientation of negative faces in the mesh |
| Make Double Sided | Disabled | Renders both sides of faces, which Roblox calls “more performance intensive” |
| Anchored | Disabled | Neural4D’s guide advises enabling it for stationary scenery so gravity does not move it; not available for rigged meshes |
| Rig Type | Picks R15, Custom or No Rig from the data | Worth confirming on any auto-rigged character |
| Keep Zero Influence Bones | Disabled | Bones with no influence are removed unless you enable this |
A worked scale check, using a labeled assumption: a character modeled in meters at 1.7 m tall is about 6.07 studs on that physics conversion (1.7 ÷ 0.28), so the same file imported with Scale Unit left on Studs is interpreted at a different size, and the difference is visible at once beside a default part.
Textures
The Texture specifications page says: “Roblox supports up to 4096×4096 pixel texture resolutions (4K).” It also recommends sizing to the object: 256×256 for 5×5 stud objects, 512×512 for 10×10, and 1024×1024 for 20×20. Meshy’s API, for one, prices texturing at 2K, 4K and 8K, so a small prop textured at those sizes is a candidate for resizing on Roblox’s own guidance.
Other documented requirements: textures uploaded separately “must be submitted as a .png, .jpg, .tga, or .bmp”; mesh objects can only have one material assigned; use a single UV set per component, inside 0:1 space (overlaps are allowed). Under UV mapping, the page lists “up to 1024×1024 pixel spaces for texture maps”; the page gives both figures without explaining how they combine, so read it before relying on either for UV work.
For PBR, Roblox applies maps through a SurfaceAppearance child of the MeshPart: albedo as RGB 24-bit, normal as RGB 24-bit, and roughness, metalness and emissive mask as single-channel 8-bit. “Roblox only supports OpenGL format - Tangent Space normal maps.” Whether a given generator’s normal maps are OpenGL or DirectX is a per-vendor fact we did not verify; if lighting looks inverted, check that first and see baking normal maps. For a generated atlas with messy islands, see UV and texture fixes.
After import: collision and level of detail
Roblox sets two properties per MeshPart that decide much of what a dense imported mesh costs.
CollisionFidelity has five documented options. Box is a bounding box, “ideal for small or non-interactive objects”. Hull is a convex hull, suited to shapes without pronounced cavities. Default supports concavity. PreciseConvexDecomposition is the most precise and has “the most expensive performance cost”. Tunable exposes a CollisionPrecision slider. To see the result, toggle Collision fidelity in the viewport’s Visualization Options. A Hull or Box on a generated archway fills the opening, so walk through anything players need to pass.
RenderFidelity defaults to Automatic: highest detail under 250 studs from the camera, medium from 250 to 500, lowest at 500 or more. That is Roblox’s built-in level of detail, and the docs do not describe supplying your own LOD meshes on that page.
Characters and FBX export from Blender
If a generated character passes through Blender on its way to Studio, Roblox’s Export settings page gives exact steps: File, Export, FBX (.fbx); set Path Mode to Copy and toggle Embed Textures; set Transform > Apply Scalings to FBX Unit Scale; disable Add Leaf Bones under Armature; and disable Bake Animation unless you are exporting keyframes. Rig Type in the Importer offers R15, Custom and No Rig. Nothing we read says any generator’s auto-rig meets Roblox’s R15 standard, so check your rig against the rigging section and Roblox’s character specs before planning on avatar use.
A worked reduction target
Use your own figures here; the input below is a labeled example, not a measurement of any generator. Say a generated prop arrives at 180,000 triangles.
- To reach the 20,000 general limit, keep at most 20,000 ÷ 180,000 = 11.1 percent of the triangles.
- To reach the 4,000 rigid accessory limit, keep at most 4,000 ÷ 180,000 = 2.2 percent.
Those are ceilings, not targets. Neural4D’s guide makes the same warning: passing import validation “does not establish a good runtime budget”, especially for an object repeated across a level. The polycount budget calculator handles the arithmetic, and method choice is in retopology for AI models.
When something goes wrong
| Symptom | Documented thing to check |
|---|---|
| Import refused or flagged | The Importer “flags issues and rejects meshes with error”; expand the hierarchy to the warned object |
| Wrong size | Scale Unit |
| Rotated or lying down | World Forward and World Up |
| Faces missing from one side | Invert Negative Faces; only then Make Double Sided, because of its cost |
| More parts than expected | glTF imports one MeshPart per primitive |
| Gray or wrong surface | Whether images uploaded, UVs exist and SurfaceAppearance maps are assigned (Neural4D’s checklist) |
| Players blocked at openings | CollisionFidelity shape; view it with the Collision fidelity overlay |
Moderation
The Marketplace moderation page says “the Moderation team reviews the item before you can sell the item” and “This process can take up to 24 hours”, with appeals available through moderation staff. It does not say whether review is human or automated, and it concerns selling, not necessarily importing into Studio for your own experience. A search snippet claimed Creator Store moderation details that we did not read.
What Roblox says about AI
Roblox’s Games with Generative AI page is about AI in experiences, not mesh import. It says “all content, including content created by or using generative AI, must adhere to Roblox’s Community Standards”, that experiences with AI interactions must be disclosed in the Content Maturity questionnaire, and that users must see a notice that they are talking to AI. None of the Roblox pages we read restricts importing AI-generated 3D meshes specifically; that is an absence in the pages we read, not proof that no rule exists. Roblox’s Terms of Use (its help-center page returned 403 on 2026-11-08; a search snippet suggests AI terms were folded into them around 30 April 2026) and Community Standards (403) were not read.
A separate point on Roblox’s AI data-sharing page: “free Creator Store assets are shared by default, with no ability to disable sharing” for AI training, and “the data sharing setting is on by default for games, avatar items, and paid assets published on or after July 10, 2024.” If sharing stops, “Roblox will remove it from the training dataset within 30 days,” and models already trained on it “will be updated within 365 days.” That affects what you publish, not what you import.
Putting it together
- Check your generator’s license for the intended use (commercial use); Roblox’s rules do not replace it.
- Decide the asset type and take the budget from the table above.
- Repair open shells and zero-thickness pieces, then reduce to that budget.
- If it is a character, limit bone influences to 4 per vertex; see rigging.
- Resize textures to the object’s size in studs, and confirm one material and one UV set per mesh.
- Import with Upload to Roblox off until the preview is clean, then import for real.
- Set CollisionFidelity for how players touch it, and check moderation status before selling.
Not confirmed
Whether the 20,000 figure applies to every asset type beyond those above, per-file size limits, upload quotas, daily limits, how Merge Meshes interacts with the limit, any AI-specific import rule, and what moderation does to AI-made meshes. Vendors market Roblox support (Meshy’s pricing page lists Roblox among its DCC Bridge targets); how those integrations treat the limits above is for the vendor’s docs. Hub: AI 3D models in game engines.
Sources
- Roblox Creator Docs: General specifications
- Roblox Creator Docs: Importer (redirect target of /art/modeling/3d-importer)
- Roblox Creator Docs: 3D Importer
- Roblox Creator Docs: Texture specifications
- Roblox Creator Docs: Export settings
- Roblox Creator Docs: Rigid accessory specifications
- Roblox Creator Docs: Layered accessory specifications
- Roblox Creator Docs: Character body specifications
- Roblox Creator Docs: Meshes
- Roblox Creator Docs: Roblox units
- Roblox Creator Docs: Marketplace moderation
- Roblox Creator Docs: Games with Generative AI
- Roblox Creator Docs: AI data sharing
- Nilo: How To Optimize a Model for Roblox Export (vendor article, September 16, 2026)
- Neural4D: How to Use AI 3D Models in Roblox Studio (vendor guide, updated October 20, 2026)
- Sloyd documentation: Text to 3D presets
- Meshy API pricing