how should I approach drawing thousands of projectiles in a bullet hell?

I’ve found it difficult to find help in this regard as I know nothing of how to handle unity’s drawing in script.

I know my way around graphics programming for the most part, if the option is available I’d draw the projectiles via hardware instancing (with a custom instance layout so I can define a per instance colour and UV offset) and I would like to draw them using a shader of my writing.

I’d prefer an article or deep tutorial as I’d rather learn than copy.

If you’re targeting DirectX 11, you could look into TC Particles (TC Particles | Particles/Effects | Unity Asset Store) or develop something similar. Someone developed a similar DX11 system that’s free, too: There’s also Unity’s Shuriken particle system. They wouldn’t give you per-projectile collision, but it could work depending on your needs. You could just do a single SphereCast() that encompasses the particle effect to see if it hits anything.

If you’re targeting lower end platforms, what about using a single texture/mesh? Again, you wouldn’t get per-projectile collision detection, but it really depends on your needs.