A different material for each particle in Niagara

I’m making a system where I need a different Material instance for each new particle that appears. Basically think butterflies that are flocking and swarming but each new butterfly, spawned manually, has a different texture which is made at runtime. Is this possible within Niagara or should I look at implementing a custom system?

here are some ways to do this. https://youtu.be/v5i8MM7REoo