ParticleEffectForUGUI
Render particle effect in UnityUI(uGUI). Maskable, sortable, and no extra Camera/RenderTexture/Canvas.
This is a Unity package that lets you display particle effects directly inside a Unity UI (uGUI) canvas. By default, Unity's particle system and its UI system are separate rendering worlds, which means getting confetti, sparks, or glowing effects to sit correctly inside a menu, HUD, or button takes a lot of workarounds. This package solves that by rendering particles through the same path Unity uses for all other UI elements.
The practical result is that you do not need to set up an extra Camera, RenderTexture, or Canvas just to show a particle effect in your UI. Particles rendered this way respect the stacking order of your UI hierarchy, so they appear in front of or behind other elements just by changing their position in the scene tree. They also respond to Mask and RectMask2D components, which means they clip correctly when placed inside scroll views or masked panels.
The package includes a component called UIParticle, which wraps your existing ParticleSystem prefabs and makes them UI-aware. There is also a UIParticleAttractor component that can pull particles toward a target point, useful for effects like coins flying into a wallet or stars collecting into a score display. Material properties can be animated through Unity's standard Animation system, and the package supports multiple materials per particle system.
On the technical side, the package works with Unity's Universal Render Pipeline and High Definition Render Pipeline, in addition to the built-in renderer. It handles adaptive scaling so particles stay correctly sized when the screen resolution changes. The README notes some shader limitations: built-in Unity shaders are not supported, and custom shaders need a small modification to work with Mask components.
Installation is through Unity's Package Manager, either via OpenUPM or by pasting the repository URL directly. The package requires Unity 2018.3 or later.