Individual GLBs vs the combined catalog
Choose independently placeable GLBs for scene composition or an optional joined catalog for one-file inspection.
On this page (7)
Some environment bundles provide both glb/individual/*.glb and an optional glb/<pack>.glb. They contain related models but serve different purposes.
Individual GLBs#
Each file represents one independently placeable asset. Use individual files when you need to:
- compose a scene from selected models;
- move, rotate, hide, or stream assets independently;
- reuse one model many times; or
- avoid downloading models the scene does not need.
Current low-poly bundle individuals are commonly uncompressed and load without Draco. Check the pack README because other profiles can differ.
Combined catalog#
The optional combined catalog places many models into one joined GLB for compact inspection. Current catalogs are monolithic: they are not arranged demo worlds, and their joined assets are not independently transformable.
Combined catalogs are commonly Draco-compressed. Self-host the Draco decoder in your application; threejsassets does not provide hosted asset or decoder URLs.
Read the README's "Draco-compressed" headline as the catalog#
The compression split is the reason a README can look contradictory. Several packs open with a blanket "Draco-compressed glTF" summary line, then state further down that the combined catalog is the joined and Draco-compressed file. The headline describes the catalog; the individual GLBs beside it are uncompressed.
Verify per file rather than trusting either line. Attach a self-hosted DRACOLoader once and let the loader decide: it is invoked for the catalog and ignored for an uncompressed individual file. Ignore any CDN decoder path a README prints in its quick-start snippet.
Compare the two#
| Individual GLBs | Combined catalog | |
|---|---|---|
| Independent placement | Yes | No |
| Load selected models | Yes | No, one joined file |
| Typical compression | Uncompressed in current low-poly bundles | Draco |
| Typical use | Scene composition and streaming | Inspection and one-file preview |
Use individual GLBs and any included prebuilds for a real scene. Choose based on the actual file sizes and contents in your release rather than a fixed compression percentage.
Loader setup#
A GLTFLoader can load both forms. Attach a self-hosted DRACOLoader when loading the combined file; the loader simply will not invoke it for an uncompressed individual file.
Other files you may find beside them#
Bundle contents vary by release, so treat each of these as conditional and check your own download:
MANIFEST.md— some bundles ship a per-asset table with triangle counts and short notes. When it is present, use it to pick files before loading anything.- Multiple editions — some packs ship a free starter bundle alongside the full one. The two are separate downloads with their own file lists; do not assume a component from one resolves against the other's GLBs.
- Wrapper components — in current bundles you may see a catalog wrapper suffixed
*Catalog.tsxand prebuild wrappers suffixed*Prebuild.tsx, which distinguishes them from the per-asset components in the same directory.
Next steps#
- Using a pack in vanilla three.js — configure both loader paths.
- Using a pack in React Three Fiber — use included components or
useGLTFdirectly.
Ask us directly — we answer support mail ourselves.