USD materials... import/reuse from scene

Some options are Houdini, the Omniverse toolset, or through script / tools for Python in Maya.

Here’s an example on how I did it with Houdini

from pxr import UsdShade, Sdf

node = hou.pwd()
input_node = node.inputs()[0]

material_name = "MyMaterial"

# Get a reference to your stage
stage = node.editableStage()

material = UsdShade.Material.Define(stage, '/' + material_name)
shader = UsdShade.Shader.Define(stage, '/' + material_name + '/UnrealShader')

shader_output = shader.CreateOutput('out', Sdf.ValueTypeNames.Token)
material_output = material.CreateOutput('unreal:surface', Sdf.ValueTypeNames.Token)
material_output.ConnectToSource(shader_output)

shader.SetSourceAsset('/Game/Materials/MyMaterial')