Based on the manual [1] the change to the material will make a new instance of it - “this will clone the shared material”. Does the renderer.material.color creates a new clone? Or the new clone instance is only created when assigning to the material property via renderer.material = …?
Also the same story with ParticleSystem.startColor property, does material stays the same or is it cloned when triggered?
I’m asking the question because in the game I’m working on I’m using the pooling technique on a ParticleSystem objects. When an object is required I fetch it from the pool and assign the startColor based on some game logic, before triggering Play() function. The problem is that sometimes colors simply doesn’t match, perhaps because the state of the previous usage still lingers.