MeshParticleRenderer for Unity3D

The mesh particles are frequently used in 3D games. But the Unity Engine only have a billboard particle renderer. Luckily, it’s not difficult to create a mesh-based particle renderer, which works together with Unity’s built-in ParticleEmitter component.

Here is the code: MeshParticleRenderer on Github

To use it, use “Components -> Particles -> Mesh Particle Renderer” to add it to an existing particle system. You could remove / disable the original ParticleRenderer component if you like.

All the meshes are pre-allocated. So if you make the particle object a prefab and use an object-pool to manage them, most of the memory allocation in run-time could be avoided. That’s important for games, especially on mobile platforms.