@@ -0,0 +1,839 @@
+import pyblish.api%0A%0A%0Aclass ValidateMindbenderID(pyblish.api.InstancePlugin):%0A    %22%22%22All models must have an ID attribute%22%22%22%0A%0A    label = %22Mindbender ID%22%0A    order = pyblish.api.ValidatorOrder%0A    hosts = %5B%22maya%22%5D%0A    families = %5B%22mindbender.model%22%5D%0A%0A    def process(self, instance):%0A        from maya import cmds%0A%0A        missing = list()%0A        for node in cmds.listRelatives(instance, allDescendents=True):%0A%0A            # Only check transforms with a shape%0A            if not cmds.listRelatives(node, shapes=True):%0A                continue%0A%0A            try:%0A                self.log.info(%22Checking '%25s'%22 %25 node)%0A                cmds.getAttr(node + %22.mbID%22)%0A            except ValueError:%0A                missing.append(node)%0A%0A        assert not missing, (%22Missing ID attribute on: %25s%22%0A                             %25 %22, %22.join(missing))%0A

Add mbID validator