Quick answer: Unity ParticleSystem.OnParticleCollision missing callbacks when particle count is high? Unity throttles collision callbacks per frame - increase MaxCollisionShapes or use OverlapSphere queries.
Rain particles with collision: each drop should trigger a splash. At 1000+ drops, only the first 256 splashes fire per frame.
Raise the cap
ParticleSystem > Collision > Max Collision Shapes = 1024. Default 256 is conservative.
Use queries instead
Per-frame OverlapSphere at particle positions. CPU cost is higher; coverage is complete.
Aggregate collisions
For visual-only feedback (splash), one splash per area per frame is fine. Group collisions by spatial hash; visualize the aggregate.
“Particle collision callbacks are budgeted. Budgets are silent caps.”
Profile your particle scene. If you have hundreds of collisions, gameplay code reading them needs to know about the budget.