Does ModelIO export materials to USD?

I've got the following code to generate an MDLMaterial from my own material data model:

public extension MaterialModel {

    var mdlMaterial: MDLMaterial {

        let f = MDLPhysicallyPlausibleScatteringFunction()

        f.metallic.floatValue = metallic
        f.baseColor.color = CGColor(red: CGFloat(color.x), green: CGFloat(color.y), blue: CGFloat(color.z), alpha: 1.0)
        f.roughness.floatValue = roughness

        return MDLMaterial(name: name, scatteringFunction: f)
    }
}

When exporting to OBJ, I get the expected material properties:

# Apple ModelI/O MTL File: testExport.mtl

newmtl material_1
        Kd 0.163277 0.0344635 0.229603
        Ka 0 0 0
        Ks 0
        ao 0
        subsurface 0
        metallic 0
        specularTint 0
        roughness 0
        anisotropicRotation 0
        sheen 0.05
        sheenTint 0
        clearCoat 0
        clearCoatGloss 0

newmtl material_2
        Kd 0.814449 0.227477 0.124541
        Ka 0 0 0
        Ks 0
        ao 0
        subsurface 0
        metallic 0
        specularTint 0
        roughness 1
        anisotropicRotation 0
        sheen 0.05
        sheenTint 0
        clearCoat 0
        clearCoatGloss 0

However when exporting USD I just get:

#usda 1.0
(
    defaultPrim = "_0"
    endTimeCode = 0
    startTimeCode = 0
    timeCodesPerSecond = 60
    upAxis = "Y"
)

def Xform "Obj0"
{
    def Mesh "_"
    {
        uniform bool doubleSided = 0
        float3[] extent = [(896, 896, 896), (1152, 1152, 1148.3729)]
        int[] faceVertexCounts = ...
        int[] faceVertexIndices = ...
        point3f[] points = ...
    }

    def Mesh "_0"
    {
        uniform bool doubleSided = 0
        float3[] extent = [(898.3113, 896.921, 1014.4961), (1082.166, 1146.7178, 1152)]
        int[] faceVertexCounts = ...
        int[] faceVertexIndices = ...
        point3f[] points = ...
        matrix4d xformOp:transform = ( (1, 0, 0, 0), (0, 1, 0, 0), (0, 0, 1, 0), (0, 0, 0, 1) )
        uniform token[] xformOpOrder = ["xformOp:transform"]
    }
}

There aren't any material properties.

FWIW, this specifies a set of common material parameters for USD: https://openusd.org/release/spec_usdpreviewsurface.html

(Note: there is no tag for ModelIO, so using SceneKit, etc.)

Does ModelIO export materials to USD?
 
 
Q