Repolode
playcanvas

playcanvas/engine

An open-source JavaScript game engine for building interactive 3D apps, games and visualizations on WebGL2 and WebGPU that run in any browser.

Open-source alternative to:Unity

Stars
17,226
Forks
2,052
Open issues
464
Last commit
yesterday

What is it?

PlayCanvas Engine is the core runtime of the PlayCanvas game engine, distributed as the npm package `playcanvas`. It renders 2D and 3D graphics through WebGL2 and WebGPU, so the output runs in any modern browser on desktop or mobile without a plugin.

The engine covers the main parts of a game stack: a scene graph of entities and components, physics via ammo.js, state-based animation, mouse, keyboard, touch and gamepad input, and 3D positional sound built on the Web Audio API. Assets are loaded asynchronously and use glTF 2.0 with Draco and Basis compression. It also supports 3D Gaussian Splatting and WebXR for AR and VR. Game behaviors are written in TypeScript or JavaScript.

The project is MIT licensed and can be installed with `npm install playcanvas`, or scaffolded with `create-playcanvas`. Related packages include a React renderer, Custom Elements web components, and a browser-based visual editor.

Key features

  • 01Renders 2D and 3D graphics on WebGL2 and WebGPU.
  • 02Supports 3D Gaussian Splatting for loading and displaying splat scenes.
  • 03Provides WebXR support for AR and VR experiences.
  • 04Integrates ammo.js for 3D rigid-body physics.
  • 05Loads glTF 2.0 assets with Draco and Basis compression.

Use cases

  • Building browser-based 3D games that run without installation.
  • Creating interactive product visualizations or configurators for the web.
  • Displaying Gaussian Splat captures in a web page.
  • Developing WebXR AR or VR experiences.

Quick start

  1. 1

    Install the engine package with npm

    npm install playcanvas
  2. 2

    Or scaffold a full project with create-playcanvas

    npm create playcanvas@latest

Things to know

  • Requires a browser with WebGL2 or WebGPU support.
  • Building the engine from source requires Node.js 18 or newer.

In collections

Topics

FAQ

What is engine?
An open-source JavaScript game engine for building interactive 3D apps, games and visualizations on WebGL2 and WebGPU that run in any browser. PlayCanvas Engine is the core runtime of the PlayCanvas game engine, distributed as the npm package `playcanvas`. It renders 2D and 3D graphics through WebGL2 and WebGPU, so the output runs in any modern browser on desktop or mobile without a plugin.
Is engine free to use? What license does it have?
engine is open source under the MIT license. Check the license terms before using it in commercial products.
Is engine still maintained?
Actively maintained. The last commit to engine was on Nov 6, 2026.
What can I use engine for?
Building browser-based 3D games that run without installation. Creating interactive product visualizations or configurators for the web. Displaying Gaussian Splat captures in a web page. Developing WebXR AR or VR experiences.
How do I install engine?
Install the engine package with npm: npm install playcanvas Or scaffold a full project with create-playcanvas: npm create playcanvas@latest
Where can I get engine?
The source code and installation instructions are on GitHub: https://github.com/playcanvas/engine

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects