Scaling particle emitters / systems programmatically

Does anyone have experience creating content with particles that scale with content?

For example, creating an explosion that scales for small, medium and large scale objects. The idea is that you would pass in the scale of the object and have code change certain parameters based on that information.

Explosion particle system with 4 emitters:
explosion flipbook with emissive
sparks
debris
shockwave

For each element you would need to scale certain parameters:
Start scale
Scale over time
Lifetime
Emission rate
And whatever else you need…

If you have used such a system, what are the pros and cons? Was there anything that stood out as either positive or negative?

I’ve done this before and it can be a bit tricky at times. To answer your Pros/Cons question:
Pro:
-Easy to use for other artist/ designers
-Once it’s all setup it’s very flexible and can be used for a variety of use cases
-Saves time in the future
Cons:
-More work/time to setup
-Might not work for all use cases
-Difficult to setup and still have the desired visual fidelity

In general, i think this is very situational. For things like AOE effects (e.g. explosions) this can be great. It allowes designers to make changes and fx will update automatically. As longs as the change is not massive (e.g. changing explosion radius from 5 to 500, this will never look good).
However, settings this up can be very tricky and can become complex quite fast, especially if you want it to look perfect for all sizes.
So often I prefer to create a separate effect for small, medium, large AOEs, rather than just one, then you can add some scaling for those (but just between 0-50 percent of the original effect, for exampe).
It will look better and doesn’t ‘constrict’ your artistic freedom as much.

So yeah, all of this heavily depends on your design, art direction and use-case…