The free catalog contains 50 component families
ThreeUI Community is both a browseable component site and the source for @designcodeio/threeui. The README counts 50 Community parent components, 111 routes, 141 variant records, and 23 standalone components, producing 164 browse results. Each page can show a live renderer, controls, variants, and source. That is enough material to evaluate a visual in context before installing it.
The repository is also a publication boundary. It includes Community implementations and required assets while excluding Pro and Beta source, account state, checkout code, and authentication. Free components keep their public variants and controls. A pricing link and separate CLI lead paid members to entitled source bundles, so the open package should be judged as a deliberately limited edition rather than a delayed dump of the paid catalog.
The package is easiest when one component already fits
A consumer can install the npm package, import a named component, and load the shared stylesheet. Component subpaths reduce the development import graph. This is a convenient way to add a visually involved hero or interaction without reconstructing its shaders, scene state, and responsive controls from a screenshot.
Adoption gets harder when the component is only close to the desired design. ThreeUI has a recognizable visual style, and heavy modification may take more time than building on lower-level helpers. The package declares React and React DOM from version 18 to below 20, plus Three.js from 0.149 to below 1. It also installs aliased Three.js 0.128 and 0.165 runtimes. Teams should inspect the selected component's import path and final bundle rather than assuming one peer dependency tells the whole story.
Some components need public assets at exact URLs
The README calls out components that render complete HTML documents. Their runtime files are expected at the same root-relative locations used by the preview. Consumers must copy the relevant files from lib-dist/assets into the application's public directory or override sourceUrl or assetBaseUrl where a component exposes those props.
That requirement affects more than initial setup. Asset paths must survive the production base URL, CDN policy, and framework deployment layout. A missing texture, model, font, or script can leave a 3D section blank while the surrounding React page still works. Check a direct production build on desktop and mobile, then test route prefixes and a cold cache. The repository's 90.9 MB checkout confirms that these visuals carry real asset weight even though a consumer may import only part of it.
What happened when we ran it
Our sandbox cloned commit 0579b80 into an unprivileged Debian container with 3 CPUs, 8 GB of RAM, no secrets, and Node 22. The checkout had 410 files, about 43,636 lines of source, and occupied 90.9 MB. It included 3 CI workflow files and no Dockerfile or conventional tests directory.
Installation completed in 9 seconds, adding 82 packages and using 161 MB on disk. The build succeeded in 33 seconds. A separate node:test run finished in 5 seconds with all 25 tests passing, and npm audit reported 0 known vulnerabilities across all four severities. The tests live in scripts and the CLI package, which explains why the repository has checks despite lacking a top-level tests folder.
The test names in package.json focus on Community sanitization, the public boundary, library packaging, release preparation, and the CLI. Those are valuable checks for a repository whose central promise is keeping paid code out while shipping a usable free package. They are not browser benchmarks or a count of visually verified components. Our run did not measure frame rate, download size, reduced-motion behavior, or interaction accessibility.
The open and paid paths are intentionally separate
Public users do not need a login. Paid source access goes through @designcodeio/threeui-cli, which uses OAuth with PKCE, stores a refreshable session with owner-only permissions, checks entitlement on server requests, and protects changed destination files unless --force is used. That design keeps account code out of the Community application.
The paid path also creates a dependency on ThreeUI's hosted authorization service. Issue 4, opened August 22, reports a Lifetime member being sent to a missing consent page on threeui.com; trying the Netlify URL then produced an unauthorized-origin error. The report does not affect anonymous Community installs, but buyers who need Pro source should verify login and download before planning a deadline around it.
Fresh sync automation matters more than missing release tags
The repository was pushed on August 25, 2026, through an automated Community sync. GitHub showed 4 open issues and pull requests combined, including two documentation fixes and a proposal for an extruded GeoJSON map. GitHub's latest-release endpoint returned no release. That absence is not evidence of neglect because the same-day push and active queue show current work, while package.json identifies the public package as version 1.1.0.
ThreeUI is a good shortcut when its finished interaction matches the page you are building. React Bits or Magic UI offers a wider copy-and-adapt path for general motion. Drei is better when the team wants to author the 3D scene itself. Choose the catalog for a specific component, then verify its asset delivery and browser behavior as carefully as any other visual dependency.

