Uploading Models
Everything you need to know about getting 3D files into the Vectreal Publisher.
Supported formats
| Format | Extension(s) | Notes |
|---|---|---|
| glTF | .gltf + .bin + textures | Preferred — full material and animation support |
| GLB | .glb | Self-contained binary glTF. Single file, easiest to share. |
| OBJ | .obj (+ .mtl) | Legacy format. MTL file and textures resolved automatically if in the same directory. |
| USDZ | .usdz | Limited support — textures and some material types may not render correctly. Work in progress. |
Upload methods
Drag and drop
Drag one or more files directly onto the Publisher canvas. The model loads as soon as the files are parsed.
File picker
Click the upload area to open the system file picker. Select one or more files.
glTF bundles (folder upload)
glTF separates geometry, binaries, and textures into multiple files. To upload a full bundle:
- Drag the entire folder onto the upload area, or
- Select all files at once in the file picker (Ctrl/Cmd + click each file).
The parser identifies the .gltf root and resolves all referenced .bin and texture files automatically.
File size and limits
There are no hard limits enforced by the Publisher UI. Very large files (>500 MB) may slow parsing in the browser. For production-grade assets, run optimization first (see Optimizing & Configuring).
Error handling
| Error | Likely cause | Resolution |
|---|---|---|
| "Unsupported file format" | File extension not in the supported list | Convert to GLB or glTF before uploading |
| "Failed to parse file" | Corrupt file or missing references | Verify the file opens in a local viewer (e.g. three.js editor) |
| "Missing binary or texture" | Uploaded .gltf without the associated .bin/textures | Upload the full folder as a bundle |
Replacing a model in an existing scene
Open the scene from the Dashboard or Publisher and drag a new file onto the canvas. The new file replaces the current model while preserving all camera, lighting, and publish settings.
Next steps
- Optimizing & Configuring — quality presets and scene settings
- Publishing & Embedding — make your scene publicly embeddable
- @vctrl/hooks — browser loading API used by upload flows