ParticleEffectForUGUI === This plugin provide a component to render particle effect for uGUI in Unity 2018.2+. The particle rendering is maskable and sortable, without Camera, RenderTexture or Canvas. [![](https://img.shields.io/github/release/mob-sakai/ParticleEffectForUGUI.svg?label=latest%20version)](https://github.com/mob-sakai/ParticleEffectForUGUI/releases) [![](https://img.shields.io/github/release-date/mob-sakai/ParticleEffectForUGUI.svg)](https://github.com/mob-sakai/ParticleEffectForUGUI/releases) ![](https://img.shields.io/badge/requirement-Unity%202018.2%2B-green.svg) [![](https://img.shields.io/github/license/mob-sakai/ParticleEffectForUGUI.svg)](https://github.com/mob-sakai/ParticleEffectForUGUI/blob/master/LICENSE.txt) [![](https://img.shields.io/github/last-commit/mob-sakai/ParticleEffectForUGUI/develop.svg?label=last%20commit%20to%20develop)](https://github.com/mob-sakai/ParticleEffectForUGUI/commits/develop) [![](https://img.shields.io/github/issues/mob-sakai/ParticleEffectForUGUI.svg)](https://github.com/mob-sakai/ParticleEffectForUGUI/issues) << [Description](#Description) | [WebGL Demo](#demo) | [Download](https://github.com/mob-sakai/ParticleEffectForUGUI/releases) | [Usage](#usage) | [Development Note](#development-note) | [Change log](https://github.com/mob-sakai/ParticleEffectForUGUI/blob/master/CHANGELOG.md) >> ### What's new? Please see [RELEASE NOTE ![](https://img.shields.io/github/release-date/mob-sakai/ParticleEffectForUGUI.svg?label=last%20updated&style=for-the-badge)](https://github.com/mob-sakai/ParticleEffectForUGUI/blob/master/CHANGELOG.md)



## Description ![](https://user-images.githubusercontent.com/12690315/41771577-8da4b968-7650-11e8-9524-cd162c422d9d.gif) This plugin uses new APIs `MeshBake/MashTrailBake` (added with Unity 2018.2) to render particles by CanvasRenderer. You can mask and sort particles for uGUI without Camera, RenderTexture, Canvas. Compares this "Baking mesh" approach with the conventional approach: (This scene is included in the package.) |Approach|Good|Bad|Screenshot| |-|-|-|-| |Baking mesh
**\(UIParticle\)**|Rendered as is.
Maskable.
Sortable.
Less objects.|**Requires Unity 2018.2+.**
Requires UI shaders.|| |Do nothing|Rendered as is.|**Looks like a glitch.**
Not maskable.
Not sortable.|| |Convert particle to UIVertex
[\(UIParticleSystem\)](https://forum.unity.com/threads/free-script-particle-systems-in-ui-screen-space-overlay.406862/)|Maskable.
Sortable.
Less objects.|**Adjustment is difficult.**
Requires UI shaders.
Difficult to adjust scale.
Force hierarchy scalling.
Simulation results are incorrect.
Trail, rotation of transform, time scaling are not supported.|| |Use Canvas to sort|Rendered as is.
Sortable.|**You must to manage sorting orders.**
Not maskable.
More batches.|| |Use RenderTexture|Maskable.
Sortable.|**Requires Camera and RenderTexture.**
Difficult to adjust position and size.
Quality depends on the RenderTexture's setting.||



## Demo [WebGL Demo](http://mob-sakai.github.io/ParticleEffectForUGUI)



## Usage 1. Download ParticleEffectForUGUI.unitypackage from [Releases](https://github.com/mob-sakai/ParticleEffectForUGUI/releases). 1. Import the package into your Unity project. Select `Import Package > Custom Package` from the `Assets` menu. 1. Add particle system to canvas. 1. If you want to mask particles, set the "UI/UIAdditive" shader to material. 1. Add `UIParticle` component to particle system from `Add Component` in inspector. ![](https://user-images.githubusercontent.com/12690315/41772125-5aca69c8-7652-11e8-8442-21f6015069a1.png) 1. Enjoy! ##### Requirement * Unity 2018.2+ (Tested in Unity 2018.2b9) * No other SDK are required



## Development Note #### BakeMesh API has a issue! See [this issue](https://issuetracker.unity3d.com/issues/bakemesh-slash-baketrailsmesh-crashes-if-update-jobs-are-running). `UIParticle` avoids the issue, but the rendering result lags one frame. Please vote the issue to improve `UIParticle`!



## License * MIT * © UTJ/UCL ## Author [mob-sakai](https://github.com/mob-sakai) ## See Also * GitHub page : https://github.com/mob-sakai/ParticleEffectForUGUI * Releases : https://github.com/mob-sakai/ParticleEffectForUGUI/releases * Issue tracker : https://github.com/mob-sakai/ParticleEffectForUGUI/issues * Current project : https://github.com/mob-sakai/ParticleEffectForUGUI/projects/1 * Change log : https://github.com/mob-sakai/ParticleEffectForUGUI/blob/master/CHANGELOG.md