ParticleEffectForUGUI is a Unity component that renders particle effects within the uGUI system without requiring additional cameras, render textures, or canvases.
The tool solves the problem of integrating particle effects into UI layouts while maintaining proper masking and sorting. It works by leveraging Unity's MeshBake and MeshTrailBake APIs to convert particle system data into meshes that the CanvasRenderer can display directly. This approach allows particles to respect UI masking components like Mask and RectMask2D, and to sort correctly within the UI hierarchy alongside other UI elements.
Developers should choose this tool if they need particle effects as part of their UI without the performance overhead and complexity of rendering to a separate texture or camera. It suits projects where particles must integrate seamlessly with standard UI elements and respect UI layout constraints. The tool includes a UIParticle component for basic usage, a UIParticleAttractor component for particle behavior control, and a ParticleSystemPreviewer for development. Custom shaders are required for full masking support, as built-in Unity shaders are not compatible.
The project shows consistent maintenance with regular updates addressing edge cases and compatibility issues. Development focuses on resolving shader limitations and improving support across different Unity versions. The maintainer actively documents known constraints, particularly around custom vertex streams and UV component handling in older Unity versions, and provides guidance for creating compatible custom shaders.