Making 3D assets for Roblox

Hard technical limits, a specific import path, and a platform where polygon discipline is not optional.

Roblox imposes tighter constraints than most engines, and they are enforced rather than advisory.

The limits that matter

Roblox caps triangles per mesh, texture dimensions, and file size on import, and rejects anything over. The specific numbers move as the platform updates, so check current documentation — but the discipline they imply does not change: assets must be small.

A mesh that exceeds the triangle cap must be split into several meshes, which is a modelling decision rather than an export one.

Format

FBX and OBJ are the import formats. Meshes should be triangulated, with a single material per mesh part, and textures supplied separately rather than embedded.

Why the constraints are strict

Roblox runs on an extremely wide device range including low-end mobile, and content is downloaded at play time rather than installed. Asset size is a load-time cost paid by every player on every join.

Working within them

  • Retopologise aggressively. A generated mesh will not be close to the cap without it.
  • Bake detail to normal maps rather than modelling it, within the platform's material support.
  • Share textures across parts. Fewer, smaller textures.
  • Split by material, not by shape. If a model needs two materials it needs two parts anyway.

Avatars and accessories

Avatar items follow additional rules — specific attachment points, bounding-box limits, and a required skeleton for clothing. These are a separate specification from generic mesh parts, and an accessory that ignores them fails validation rather than looking wrong.

Realistic expectations for generated assets

Generation gets you a shape; reaching Roblox's limits from a reconstructed mesh is a retopology and texture-reduction job every time. It is a good platform for the technique and a bad one for skipping the cleanup.