Dear community,
this question has been answered by mail and is unfortunately not available for the public in its entirety. The core of the answer was:
if node.GetName() == 'Base Color' and node.GetTypeName() == 'C4D Shader':
# Import the new substance as an asset into the document.
res, asset, _ = c4d.modules.substance.ImportSubstance(
doc, substance_path, c4d.SUBSTANCE_IMPORT_COPY_NO, False, False, False)
if res != c4d.SUBSTANCE_IMPORT_RESULT_SUCCESS:
raise IOError(f"Could not load substance file: {substance_path}")
# Create a shader for the substance asset.
shader = c4d.modules.substance.CreateSubstanceShader(asset)
if not isinstance(shader, c4d.BaseShader):
raise MemoryError("Unable to allocate substance shader.")
# Insert the new shader into the material and set the shader
# as the shader of the C4D Shader node.
material.InsertShader(shader)
node[c4d.GV_REDSHIFT_BAKER_SHADER] = shader
Cheers,
Ferdinand