CGTrader’s automatic check

CGTrader runs a check on the FBX in every upload. A model that passes gets a quality mark, buyers can filter by it, and CGTrader can make extra formats and previews from it. The checks:

  • Binary FBX, not ASCII.
  • No lights or cameras in the file.
  • No n-gons: only triangles and quads.
  • Manifold geometry: no edge shared by more than two faces.
  • A full PBR set: Base Color, Roughness, Metalness and Normal for each material.
  • No embedded textures: the textures sit next to the FBX, not inside it.
  • Square textures (1:1), with power-of-two sides.

Our 85% came from two failures: no Roughness and Metalness maps, and textures embedded in the FBX. Fixing the export fixed both.

Blender export that passes

  1. For each material, make square maps with power-of-two sides, named after the material: Body_BaseColor (sRGB), Body_Normal, Body_Roughness, Body_Metalness (Non-Color), and Body_Emissive if something glows.
  2. Plug every map into the Principled BSDF directly: Roughness and Metallic into their sockets, the normal map through a Normal Map node. Only connected maps reach the FBX.
  3. Export FBX as binary with Path Mode: Relative and Embed Textures off. Ship the maps in a Textures folder next to the FBX.
  4. Use Latin letters, digits and underscores in object, material and texture names.
  5. Delete lights and cameras, apply scale and rotation, and triangulate or quad any n-gons.

Roblox’s mesh rules

  • One mesh: at most 20,000 triangles.
  • Watertight meshes, no exposed holes or backfaces, no zero thickness; quads where possible, no n-gons.
  • Skinning: at most 4 bones per vertex; the root joint at 0, 0, 0 with no influences; bones frozen at scale 1 and rotation 0.
  • One animation per exported file; export each clip separately.
  • Textures up to 4096 × 4096; UV maps use up to 1024 × 1024 and all UVs inside 0 to 1, one UV set, one material per mesh.

Unity and Fab

  • Scale: Unity works in metres; Unreal in centimetres. Check the size after import into a fresh project.
  • Pivot at the bottom centre, so the asset drops onto the ground.
  • Power-of-two textures compress and stream best in both engines.
  • Real material names instead of Material.001; buyers see them.
  • Fab needs both a Personal and a Professional license on every product, and assets that work as described in the listing.

Before you upload

  1. Open the export in a clean project of each engine you list.
  2. Run it through Model Check with the store as the target.
  3. Keep the triangle counts, bones and clip lists in the listing, so buyers know it fits.

Sources