Why do GPUParticles2D collisions (rigid/hide) need an LightOccluder to work?

Godot Version

Godot Engine v4.2.2

Question

I started using GPUParticles2D, and I found that when particle collision (on ParticleProcessMaterial) is set to Rigid/Hide on contact, particles stop spawning unless there is a LightOccluder2D in the scene. I don’t know why this happens, and I would like to know if there’s a way to make particles spawn with these settings without a LightOccluder. Ty.

i know this is from a year ago, but i figured i might as well still share a work-around i found for it while researching in case someone is also scratching their head at this.

i added a tiny lightoccluder2d as a child of my player with sdf enabled, all light layers turned off, and positioned a good distance above them.

this way there’s always an occluder around, it won’t mess with any scene lighting, and its positioning prevents the particles from colliding with it and being hidden early (in most cases). hope this helps somebody!