PlayCanvas

Dev Tools

Comprehensive guide for PlayCanvas, the web-first 3D graphics platform including the Engine API, Editor, React wrapper, and Web Components. Use when building 3D web applications, games, or interactive experiences with PlayCanvas.

Install

openclaw skills install playcanvas

PlayCanvas

PlayCanvas is an open-source, web-first 3D graphics platform with an MIT-licensed JavaScript engine, a real-time collaborative Editor, a React wrapper, and Web Components.

Covers

  • Engine API and standalone usage
  • Editor visual development
  • PlayCanvas React declarative components
  • Web Components HTML-based 3D
  • Scripting and ECS architecture
  • Graphics, materials, shaders
  • Physics simulation
  • Animation system
  • Asset pipeline
  • 2D and UI systems
  • Performance optimization
  • Publishing to web/mobile/desktop
  • Gaussian Splatting
  • PCUI framework

Reference Files (30 files)

Docs in references/ — load on demand:

FileCovers
getting-startedOverview, community, OSS
editorOverview + press
editor-interfaceToolbar, Hierarchy, Inspector, Viewport, Launch, Settings
editor-assetsAssets panel
editor-scenesScenes, entities, components, templates/prefabs
editor-scriptingEditor scripting tools
editor-publishing-webWeb, mobile, ads
editor-version-controlBranches, checkpoints, merging
editor-realtime-collaborationCollaboration
editor-editor-apiEditor extension API
editor-engine-compatibilityV1 vs V2
editor-faqFAQ
editor-troubleshootingBrightness/darkness fixes
editor-getting-startedTutorial
engine-standaloneEngine API, standalone, Node.js, migrations, browser support
graphicsCameras, lighting, materials, shaders, particles, layers, batching
physicsRigid body, collision, compound shapes, ammo.js API
animationAnim component, state graphs, events, layer masking
scriptingESM/Classic, lifecycle, attributes, events, debugging, migration
ecsEntity-Component-System
reactReact installation, scenes, assets, materials, physics, interactivity
web-componentsHTML tags, installation, tag reference
2DSprites, 9-slicing, sprite editor, texture packing
user-interfaceScreen/Element components, localization
assetsAsset registry, loading, preloading, formats
optimizationGPU profiling, load time, texture compression, device pixel ratio
apiREST API endpoints
account-managementOrganizations, billing
pcuiPCUI UI framework
gaussian-splatting3D Gaussian Splatting
glossaryTerminology
securityVulnerability reporting

Key APIs

Core Engine

import * as pc from 'playcanvas';

const app = new pc.Application(canvas);
app.start();

Entity & Component

const entity = new pc.Entity('myEntity');
entity.addComponent('camera', { fov: 60 });
entity.addComponent('script');
entity.script.create('myScript', { attributes: { speed: 10 } });
app.root.addChild(entity);

Asset Loading

app.assets.loadFromUrl('model.glb', 'container', (err, asset) => {
  const entity = asset.resource.instantiateRenderEntity();
  app.root.addChild(entity);
});

Input

if (app.keyboard.isPressed(pc.KEY_SPACE)) { /* jump */ }
if (app.mouse.isPressed(pc.MOUSEBUTTON_LEFT)) { /* click */ }