Particles and Unity UI Canvas

Hello, I have the age old question of how to get particles to work with Unity UI Canvas.
So far what I have found by googling is not ideal. Usually mentions messing around with different camera setups, or adding the “Canvas” component and use override sorting on those. This does not always work and is not always what I want.

From my own observations, either the particles render completely on top of UI elements, or below them.
It also seems to be very dependent on the shader used. Shaders that either have no transparency or only cutout transparency work well enough to render the particles above the UI, but if I want to have particles rendering above with a shader that has Fade or Transparent properties, it always renders below.

Also, switching order in the UI hierarchy does not affect them.

Do any of you have some good advice on how to go about this? Should I bite the bullet and buy one of those custom assets? Or has Unity done something in this regard that I am not yet aware of?

P.S. Mainly asking for mobile platforms, so they also have to be performant enough.

The ParticleSystem and UI render differently which means it’s not simple to adjust the order. The solution is to render the particles as a mesh and inject that into the UI so they are part of the UI and can be adjusted.
There’s a library that does all the work for you here GitHub - mob-sakai/ParticleEffectForUGUI: Render particle effect in UnityUI(uGUI). Maskable, sortable, and no extra Camera/RenderTexture/Canvas.

That looks interesting, thank you for letting me know

Check this video it has everything about particles system on the UI Canvas on unity