Detach by material ID
I'm working as an architectural visualizer at MIR. usually i import files from OBJs. this little script splits the single imprted obj into different parts and gives the new node/object the name of the material it originally had.
Thats what i use it for but it does the same thing for any object with sub-materials.
let me know if theres any problems