add-effects
FreeUse when adding visual effects to a PlayCanvas app, to choose between particle systems, shader chunks, runtime meshes, and post-processing.
The English summary is being prepared. Showing the original description.
Use when implementing a PlayCanvas feature the project does not use yet, to find and adapt the official example matching the installed version.
The English summary is being prepared. Showing the original description.
Review the instructions the agent will receive before you install.
Examples are version-matched recipes to adapt, not modules to import. When the Engine ships a script
for the behaviour, use reuse-scripts first.
If node_modules/playcanvas/examples/src/examples exists, it is a linked or source checkout: read
it locally. The npm package omits examples/, so otherwise fetch from the installed tag:
TAG="v$(node -p "JSON.parse(require('fs').readFileSync('node_modules/playcanvas/package.json')).version")" || exit 1
gh api "repos/playcanvas/engine/git/trees/$TAG?recursive=1" | grep -o '"examples/src/examples/[^"]*\.example\.mjs"'
gh api "repos/playcanvas/engine/contents/examples/src/examples/<category>/<name>.example.mjs?ref=$TAG" \
--jq .content | base64 --decode
Read the resolved package, not the dependency list; playcanvas is often transitive. An empty list
means an invalid tag: stop rather than guess. Use main only when the version has no tag.
| Surface | Repository | Ref | Example paths |
|---|---|---|---|
| direct Engine | playcanvas/engine | v<version> | examples/src/examples/<category>/<name>.example.mjs |
| Web Components | playcanvas/web-components | v<version> | examples/<name>.html |
| React | playcanvas/developer-site | main | docs/user-manual/react/examples/<name>.mdx |
Search the surface's catalog first, then the Engine's. React pages track the latest package; verify
each prop against the installed declarations. Fetch example assets, including the Draco, Basis, and
Ammo decoders under examples/assets/wasm, from the same ref.
Keep component options, scene setup, materials, shaders, assets, and update logic; drop the example browser's controls and imports. When one example joins several systems, such as layers, depth, camera frame, and sky, get that baseline rendering before customizing it.
Read only the reference matching the code: direct Engine, React, or Web Components.
No reviews yet. Tell others what you thought.
No login needed. Share how it worked for you, ask a question, or note where it did not run.
No comments yet. Be the first to write one.
Use when adding visual effects to a PlayCanvas app, to choose between particle systems, shader chunks, runtime meshes, and post-processing.
The English summary is being prepared. Showing the original description.
Use when writing PlayCanvas Engine code touching transforms, cameras, lights, materials, meshes, bounds, or imports, to apply Engine conventions and avoid legacy APIs.
The English summary is being prepared. Showing the original description.
Use when composing PlayCanvas entity hierarchies from models, colliders, rigid bodies, and scripts, so each object has one semantic root and clear lifecycle.
The English summary is being prepared. Showing the original description.
Use when static PlayCanvas lighting, shadows, or ambient occlusion cost too much per frame and should be baked into lightmaps.
The English summary is being prepared. Showing the original description.
Use when creating or restructuring a PlayCanvas app with the Engine API, @playcanvas/react, or @playcanvas/web-components, covering bootstrap, input, resize, physics, update loop, UI, and lifecycle.
The English summary is being prepared. Showing the original description.
Use before repeatedly placing GLB models in PlayCanvas to record each asset's uniform scale, grounding offset, pivot compensation, and yaw once.
The English summary is being prepared. Showing the original description.