def userAttrCheck(objList=[], includeShapes=False):
    '\n\tReturn a list of user defined attributes for a specified list of nodes (and shapes).\n\t@param objList: List of objects to check for user defined attributes.\n\t@type objList: list\n\t@param includeShapes: Also check shapes for user defined attributes.\n\t@type includeShapes: bool\n\t'
    result = []
    if (not objList):
        objList = mc.ls()
    for obj in objList:
        userAttrs = mc.listAttr(obj, ud=True)
        if (not userAttrs):
            userAttrs = []
        for attr in userAttrs:
            result.append(((obj + '.') + attr))
        if includeShapes:
            shapes = mc.listRelatives(obj, s=True)
            if (not shapes):
                shapes = []
            for shape in shapes:
                userAttrs = mc.listAttr(shape, ud=True)
                if (not userAttrs):
                    userAttrs = []
                for attr in userAttrs:
                    result.append(((shape + '.') + attr))
    return result
Return a list of user defined attributes for a specified list of nodes (and shapes).
@param objList: List of objects to check for user defined attributes.
@type objList: list
@param includeShapes: Also check shapes for user defined attributes.
@type includeShapes: bool
def userAttrCheck(objList=[], includeShapes=False):
    '\n\tReturn a list of user defined attributes for a specified list of nodes (and shapes).\n\t@param objList: List of objects to check for user defined attributes.\n\t@type objList: list\n\t@param includeShapes: Also check shapes for user defined attributes.\n\t@type includeShapes: bool\n\t'
    result = []
    if (not objList):
        objList = mc.ls()
    for obj in objList:
        userAttrs = mc.listAttr(obj, ud=True)
        if (not userAttrs):
            userAttrs = []
        for attr in userAttrs:
            result.append(((obj + '.') + attr))
        if includeShapes:
            shapes = mc.listRelatives(obj, s=True)
            if (not shapes):
                shapes = []
            for shape in shapes:
                userAttrs = mc.listAttr(shape, ud=True)
                if (not userAttrs):
                    userAttrs = []
                for attr in userAttrs:
                    result.append(((shape + '.') + attr))
    return result