Different particle shaders

Hi,

I’m trying to make different effects, but it seems that all particles in all systems are bound to the same
shader properties. If I change the shader settings in one system, it automatically changes it in all systems.
Very annoying, looked for an answer online, no luck.

How can I change the shader settings in one Psystem without affecting all the others?

thanks

Out from my head, you can change the ParticleSystem → Renderer → Material property foe each particle system :wink:

To expand on raphael’s comment, if you directly manipulate a material asset anything that uses that asset will be updated as well as they are all using that single material asset (and if you’re doing it in the editor it will save the changes to disk even in play mode!).

If you want to have different base settings for different objects you’ll need to make multiple copies of the material, one for each unique setup.

If you want to modify a material while the game is running you want to do so by modifying the object’s renderer component .material rather than directly linking to and modifying the material asset. Unity does some magic there where it knows you likely don’t want to modify the parent and makes a temporary copy with your modifications that gets forgotten when you leave play mode or the object is removed from the scene.

You can also use material property blocks which works in both the edit and play modes to uniquely modify settings on a per object basis, but that takes some programming knowledge as there’s no default utilities for this.

3 Likes

Thanks guys, I think I’ve got it working now.

It still took me a while to understand, but if my experiment is correct.
I choose the material I want, to get the look of the individual particles, and use the shader to adjust how that material acts.
but the shader in the Psystem actually changes the properties of the base material.
therefore all the other Psystems using that material change too.

it was so confusing how a setting in a Psystem can alter the base material, and even save it in play mode.
which behaves completely different to all the other settings in the Psystem inspector. Oh well.

If you have an object selected that has a render with a material (or multiple materials) it’ll display that material in the inspector. The particle system is a component of the object and changes to components don’t save while in play mode.

The material is not a component, it is an asset, and changes to assets are saved even while in play mode. It appears in the inspector to make it easier to modify.