vfx-graph

Create and edit custom VFX particle graphs in .graphVfx YAML for Lens Studio.

16|2|Updated Apr 13, 2026
One-click install
npx skills add https://github.com/lens-studio-devs/ls-extensions --skill vfx-graph-lens-studio-devs
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: vfx-graph
Source: https://github.com/lens-studio-devs/ls-extensions/tree/main/plugins/ls-clad/skills/vfx-graph
Command: npx skills add https://github.com/lens-studio-devs/ls-extensions --skill vfx-graph-lens-studio-devs

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Authoring custom particle effects in Lens Studio requires hand-editing .graphVfx YAML with a strict four-container pipeline, undocumented template IDs, and silent failure modes like missing CheckEnabled siblings — this Skill encodes all of those rules so effects render correctly the first time. ## Core Features & Use Cases - VFX Graph Authoring: Create or edit .graphVfx files covering the Emit/Spawn/Update/Output container pipeline, particle attributes, container subgraphs, and helper templates. - Custom GLSL Code Nodes: Write node_util_custom_container_* code nodes using the VFX system.* API for particle getters/setters, random values, and vertex/pixel output. - Scene Placement & Debugging: Instantiate VFX assets via AssetManager.instantiate(), tune particle counts and overdraw, and bisect broken graphs using the empty-VFX baseline. - Use Case: Ask for a rain or fire particle effect and get a working .graphVfx based on the Simple Emitter Code Node preset, with correct emission rate sizing and output-stage color logic. ## Quick Start Create a rain VFX graph with velocity-stretched particles and place it in my Lens Studio scene.

Frequently Asked Questions about vfx-graph

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a custom particle effect in Lens Studio?

Create a .graphVfx file with the four containers Emit, Spawn, Update, and Output in fixed order. Start from the bundled Simple Emitter Code Node.graphVfx preset and edit its custom GLSL code nodes rather than wiring many template nodes from scratch.

How do I add a VFX graph to a Lens Studio scene?

Use AssetManager.instantiate() from ExecuteEditorCode with the VFX asset UUID, which creates a SceneObject with a wired VFXComponent. There is no preset for VFX Graph, and setProperty on the component fails because it has no editor-bound properties.

What is the difference between VFX Graph and GPU Particles in Lens Studio?

VFX Graph uses .graphVfx assets with a VFXComponent, while GPUParticles*Preset items use the legacy RenderMeshVisual system. Choosing a GPUParticles preset means your .graphVfx will not render, so always instantiate the VFX asset directly.

Why is my VFX graph not rendering any particles?

Check that every content node inside a container has NodeCheckEnabled and NodeCheckExists sibling keys set to true, otherwise nodes load but silently do nothing. Also verify code-node Title fields contain only alphanumerics and spaces, since punctuation breaks GLSL compilation.

How do I set particle color and attributes in a VFX graph?

Set initial attributes in the Spawn stage and modify them per-frame in Update using node_main_particle_set_force templates or system.setParticle* calls in code nodes. For pixel color, call system.setPixelColor0(vec4) inside a node_util_custom_container_output_pixel node.

How do I reduce particle overdraw and improve VFX performance?

Use the lowest particle count that sells the effect, and size continuous emission rate as Particle Count divided by shortest lifespan. To measure overdraw, set the Output blend mode to Add with a constant low color like 0.05 so overlapping particles accumulate visibly.