UI Particle System (Canvas / UI)
UI ParticleSystem is a native Unity UI particle engine rendering all particles in a single draw call via CanvasRenderer. It integrates with RectMask2D and layout groups without RenderTexture hacks.
by AstroPlayze
Price History +
Core Architecture
UIParticleSystem is a native UI particle engine built directly on Unity's MaskableGraphic. Unlike Unity's built-in ParticleSystem, it renders directly inside the Canvas without requiring extra cameras or RenderTextures.
It fully supports:
- Canvas hierarchy sorting
- RectMask2D and UI masking
- Layout Groups
- Play Mode and Edit Mode simulation
High Performance Rendering
All particles are rendered using a single mesh and single CanvasRenderer, allowing hundreds of particles to be drawn in one draw call. Geometry is generated dynamically through OnPopulateMesh() with no extra GameObjects or MeshRenderers.
CPU Simulation
Particles are simulated on the CPU using pre-allocated memory to minimize garbage collection. Each frame the system:
- Spawns particles
- Updates movement, gravity, rotation and scale
- Blends colors using gradients
- Recycles expired particles efficiently
Features
- Multiple emission shapes (Point, Circle, Box)
- Multiple emission directions (Single, Cone, Hemisphere, Random360)
- Texture Sheet Animation (Flipbook)
- Lifetime & Speed animation modes
- Parent-to-child Play/Pause/Stop propagation
- Editor-safe architecture with runtime-only builds