Skip to content

The brief for a 3D artist

Send this page to whoever makes your models. It is the whole of what the pipeline needs, and a file that follows it passes all eighteen checks on the first upload.

  • glTF binary (.glb), one file, embedded textures.
  • Up to 50 MB. Larger is not refused for being large — it is refused because a phone on a mobile connection will not load it.
  • Metres. One unit is one metre, and the model’s own bounding box must match the dimensions you declared.

At the left-bottom-back corner of the bounding box, axes unrotated.

This is the single most common reason a model is rejected, and the reason it matters: snapping places a module by its origin. A pivot in the middle puts half a cabinet through the wall behind it, and the visitor cannot see why.

A socket is where another module docks. Add an Empty at each one, named socket:<name>, pointing out of the surface along its own +Z.

Export from Blender with Custom Properties turned on, or the extras never reach the file and the validator reports no sockets at all.

Name Where it usually is
socket:right, socket:left the side panels
socket:top the worktop
socket:front a door or a drawer front

One material per part somebody might change the colour of, named for the part rather than the colour: body, front, top. A material called oak is a material nobody can repaint.

  • Textures at most 2048×2048. The pipeline can shrink a 4096 for you, and says so rather than failing — but the file is smaller if you do it.
  • PBR metal/rough. No baked lighting: the room supplies its own, and a shadow painted into a texture is a shadow in the wrong place.
  • Triangles: under 40 000 for a cabinet-sized module. Doors and handles are what usually blow this.
  • No n-gons, no loose vertices, normals outward.
  • Real thickness on panels — a single-plane door disappears edge-on.

The validator runs eighteen checks and answers in sentences, with a next step on each failure: a link to this page, or an offer to fix it for you. Nothing in it says “invalid model”.