Question Details

No question body available.

Tags

c# unity-game-engine particles particle-system

Answers (1)

Accepted Answer Available
Accepted Answer
February 10, 2026 Score: 4 Rep: 93,011 Quality: Expert Completeness: 80%

Indeed, it is a property! But this alone is not the issue but also the modules of ParticleSystem are a weird hack - they are all struct and thereby value types. So they are returned by copy!

In such case it is c# complaining here because usually you are not allowed to modify a property of something directly from a getter by value - as this would be only applied to the copy and therefore lost information.

In case of the ParticleSystem under the hood their respective properties are actually just hooks into the native engine - c# doesn't know this and complains.

So even though theoretically in this case it wouldn't matter (since it's just native hooks) in order to satisfy the c# compiler you need to in-between store the returned value somewhere.

var shapeModule = myParticleSystem.shape;
shapeModule.texture = Resources.Load("My Texture");

In general you should avoid using Resources