Назад към всички

unity-vfx-graph

// Unity Visual Effect Graph skill for GPU particle systems, procedural effects, and high-performance visual effects.

$ git log --oneline --stat
stars:384
forks:73
updated:March 4, 2026
SKILL.mdreadonly
SKILL.md Frontmatter
nameunity-vfx-graph
descriptionUnity Visual Effect Graph skill for GPU particle systems, procedural effects, and high-performance visual effects.
allowed-toolsRead, Grep, Write, Bash, Edit, Glob, WebFetch

Unity VFX Graph Skill

Visual Effect Graph development for GPU-accelerated particle systems in Unity.

Overview

This skill provides capabilities for creating high-performance visual effects using Unity's Visual Effect Graph, leveraging GPU compute for millions of particles.

Capabilities

Particle Systems

  • Create GPU particle systems
  • Configure spawn, initialize, update, output contexts
  • Handle particle attributes
  • Implement particle collision

Procedural Effects

  • Use noise and turbulence
  • Implement SDF-based effects
  • Create mesh sampling effects
  • Build camera-based interactions

Visual Authoring

  • Design effects in VFX Graph editor
  • Create subgraphs for reuse
  • Implement property sheets
  • Build event-driven effects

Integration

  • Connect to C# scripts
  • Handle events and parameters
  • Integrate with Timeline
  • Manage performance budgets

Prerequisites

  • Unity 2021.3+ with VFX Graph package
  • SRP (URP or HDRP) project
  • Compute shader capable hardware

Usage Patterns

Spawning Particles from Code

public class VFXController : MonoBehaviour
{
    [SerializeField] private VisualEffect vfx;

    void Start()
    {
        // Set properties
        vfx.SetFloat("SpawnRate", 100f);
        vfx.SetVector3("EmitterPosition", transform.position);
    }

    public void TriggerBurst()
    {
        // Send event
        vfx.SendEvent("OnBurst");
    }
}

Property Binding

// Expose VFX properties via C# bindings
vfx.SetInt("ParticleCount", 1000);
vfx.SetGradient("ColorOverLife", gradient);
vfx.SetTexture("ParticleTexture", texture);

Best Practices

  1. Use subgraphs for reusable components
  2. Profile GPU performance
  3. Set particle count limits
  4. Use LOD for distant effects
  5. Optimize texture sampling

References