Split a multi material by object.

What I’m looking to do is split a massive 150+ Multi/Sub-Object material by the objects it’s assigned to.

For example; say I had 3 pillars that had two materials out of 100 in a multi material assigned to it, I would like to be able to tear off those two materials into their own multi material assigned to the 3 pillars.

I have a scene with 2500+ objects in it and only one massive multi material assigned to everything and considering this is supposed to be going into a game engine for real time viewing/rendering you can see my predicament.

To be clear I’m NOT looking to split an object by its material ID’s

If anyone knows of an existing script (or is willing to put one together) I would be deeply grateful for the assistance.