Hi guys. I need some help with GUI

Really appreciate
I’m using GUI to make an inventory .And so far I have just made a crafting system . Now I really want to add some effects when I successfully craft an item .But it seems all the particles was drawn behind the GUI . What should I do now ? Please help . Thank you

You can solve this by several approaches:

  1. Use a world space canvas and render the particles in front of the world space canvas. (Dirty solution)

  2. Create different camera layers to render things (Best practice solution)

Create 3 camera’s with the following hierarchy:

Set all camera’s to “Clear flags = Depth only”

And set the depth of the camera’s in the inspector as follow:

Main Camera: Depth = 0

Gui Camera: Depth = 1

Gui Particle Camera: Depth = 2

Now you have to create a layer for the GuiParticles:


And assign your particle effect to this layer.

In you inventory canvas change the render mode to “Screen space - Camera” and drag your GuiCamera to the “Render Camera” field.

Change the layer of your inventory canvas (recursively) to “UI”

Now finally set the culling masks for each camera as follow:

Main Camera: Everything BUT “UI” and “Particles”

GuiCamera: Nothing BUT “UI”

GuiParticleCamera: Nothing BUT “Particles”

You now have 3 render layers with each their own camera. All stuff marked as layer “Particles” will now be rendered in front of the “UI” layer.

This plugin can help you https://forum.unity3d.com/threads/released-ui-particles.436611/
No cameras, work with all types of canvases. Simple usage.