but the other issue with particle systems is that they're like 100x more code than doing the minimal thing directly
the main difference being UI (IIRC roughly half of UE's Niagara was editor code)
but also when you go from one struct/one array to generic attribute arrays and configurable steps, the overall complexity tends to skyrocket
suddenly a "generate random velocity" half-line of code becomes a module where you configure which attribute even is velocity

