This package scaffolds a ready-to-run Three.js + WebXR project that includes physics, a player controller, and VR helpers.
Important: do NOT run npm i create-threexrapp my-app — that syntax installs packages and will not create a new project.
Correct usage (recommended):
- Using npx (recommended):
- npx create-threexrapp my-app
- or via npm init:
- npm init create-threexrapp@latest my-app
What the command does:
- Creates a new folder
my-app/in the current directory. - Copies these files into
my-app/at the top-level: - index.html
- initializePhysicsAndPlayer.js
- package.json (pre-populated with Vite dev script and dependencies)
- playerController.js
- README.md
- scene1.js
- style.css
- vr.js
- Copies
static/from your current working directory intomy-app/static/if present (recommended). If you don’t have local models, the package includes real sample models. - By default the CLI runs
npm installinside the generated project sonode_modules/is created automatically.
Quick start after scaffold:
cd my-app npm run dev
Flags:
- –no-install — skip the automatic
npm installstep. Use this if you want to install deps later or via a different package manager.
Notes & best practices
- Run the CLI from the folder that contains your
static/assets so your real models are copied into the scaffolded project. The expected model files are: static/mainModel.glbstatic/playerModel.glbstatic/sky.hdr- If you don’t have models, the package includes sample models so the example app runs out-of-the-box.
- The package is intended to be executed with
npxornpm init— that is the standard and reliable way to scaffold projects.