Three Start

Installation

How to install three-start and its peer dependencies.

Install

npm install three-start

Peer dependencies

three-start keeps its own bundle small by declaring three and eventemitter3 as peer dependencies — meaning they live in your project, not inside three-start. Install them alongside three-start:

npm install three eventemitter3

Minimum versions:

PackageMinimumTested against
three>=0.183.0^0.183.2
eventemitter3>=5.0.4^5.0.4

three >= 0.183 is required, not optional. three-start uses THREE.RenderPipeline (a WebGPU-era addition introduced in r183) to drive rendering. Older releases simply don't ship the symbol — installation will succeed but new ThreeStart() will fail at runtime.

TypeScript

If you use TypeScript, also install the Three.js type definitions:

npm install -D @types/three@^0.183.1

three-start's own types ship with the package — no extra @types/* needed.

Sanity check

A minimal import to verify the package resolves:

import { ThreeStart } from "three-start";

const starter = new ThreeStart();
console.log(starter.ctx); // a ThreeContext with renderer, scene, camera, …

If this compiles and logs the context, you're good. From here, head to Quick Start for a full working scene.

Renderer note (WebGPU vs WebGL)

By default new ThreeStart() instantiates a WebGPU renderer (THREE.WebGPURenderer from three/webgpu). If your target browser doesn't support WebGPU yet, or you just prefer WebGL, pass a renderer explicitly:

import * as THREE from "three";
import { ThreeStart } from "three-start";

const starter = new ThreeStart({
  ctx: {
    renderer: new THREE.WebGLRenderer({ antialias: true }),
  },
});

Everything else in three-start is renderer-agnostic.

Browser support

three-start is a native ES module. It targets modern evergreen browsers and Node 20+ for tooling. WebGPU features follow what three/webgpu supports in the chosen browser.

Edit on GitHub

On this page