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
- Use subgraphs for reusable components
- Profile GPU performance
- Set particle count limits
- Use LOD for distant effects
- Optimize texture sampling