Hi, I cannot seem to change the color of my particle systems with my script. I am using a pooling system, but for simplicity while testing to figure this out I have just instantiated them. I am convinced this has to do with how I am using prefabs, the color always follows the settings of the prefab, and never changes when I ask it to through a script. Here is what I am doing on collision2D: Code (CSharp): GameObject spawnedParticle = Instantiate(tempPartPrefab, transform.position, Quaternion.identity); //////////////////////////////////////////////////////////////////////////// ParticleSystem splatPartSys = spawnedParticle.GetComponent<ParticleSystem>(); ParticleSystem.MinMaxGradient splatPartSysCol = splatPartSys.main.startColor; splatPartSysCol = new ParticleSystem.MinMaxGradient(m_spriteRenderer.color, m_spriteRenderer.color); If anyone knows what I am doing wrong, or why my prefabs might not adhere to the changes I try to make, please let me know. Thanks. EDIT: I clearly am using prefabs incorrectly. I just created two sprites for debugging. Both in scene but one is a prefab and the other is not. Code (CSharp): tempColorDebugInScene.GetComponent<SpriteRenderer>().color = m_spriteRenderer.color; tempColorDebugAsPrefab.GetComponent<SpriteRenderer>().color = m_spriteRenderer.color; One works (no prefab) and the other (prefab) doesn't. If anyone can tell me what I'm not getting here that would be really helpful. Thanks.