Nodes/MKRShift_Nodes/Maya Material Output
ComfyUI Node

Maya Material Output

Write the textures, hand the roundtrip to the add-on

By criskb·Created 7 months ago·Updated 5 months ago· 0
Maya Material Output
  • images
  • written_paths_json
  • primary_path
  • summary_json
maya_material_plan_json{}
filename_override

The execute half of the material roundtrip

MKRMayaMaterialOutput is where generated textures stop being tensors and become files your Maya add-on can grab. You feed it the images you generated plus the plan from MKRMayaMaterialPlan, it writes each image to the asset_path the plan specified, and it reports exactly which files were written. No live Maya session involved - file handoff, and the add-on does the actual shader wiring on its end.

It's part of MKRShift_Nodes, the DCC-bridge pack by Cris K B, and it's built on the same _BaseSingleAssetPlanRuntime base that serves every host's material/output nodes. So its behavior is identical across Maya, Nuke, Photoshop, After Effects, Premiere, and the rest - learn it once.

How it works

Two required inputs: images (a standard IMAGE batch - one map or a stack of maps) and maya_material_plan_json (the plan string from MKRMayaMaterialPlan). The node parses the plan, pulls the asset path (it also tolerates a nested asset object with a path, in case a transport plan wrapped it), writes every image in the batch to disk, and returns the results.

One optional input: filename_override, which swaps out the filename while keeping the planned directory.

The outputs

Three strings, same shape as the other runtime nodes:

  • written_paths_json - every path written plus the plan used. The audit trail, and the thing to feed a manifest node.
  • primary_path - the first written path as a convenience string.
  • summary_json - host, schema, target shader name, count, primary path, warnings.

Note the summary_json picks up the target name from the plan (target_shader_name in the Maya case), so you can confirm the right shader was targeted at a glance.

Install and the honest gotchas

cd ComfyUI/custom_nodes
git clone https://github.com/criskb/MKRShift_Nodes

Restart, or install "MKRShift Nodes" via ComfyUI Manager. No pip deps, no models, no ffmpeg.

Two things to keep straight. First, writing files is all this node does - if you're expecting the Maya shader to visibly update when you run this, remember the pack's architecture: ComfyUI writes, the add-on applies. The node's job ends at "files are on disk with a matching plan." Second, batch order matters: if your batch has 5 maps and the plan expects base_color/normal/roughness/etc. in a specific order, the files are written in batch order - name them deliberately via filename_override or plan the naming so the add-on can tell them apart. That's the usual place a roundtrip silently goes wrong.

CategoryMKRShift Nodes/Addons/Maya

Inputs (3)

NameTypeDefaultDescription
imagesIMAGE
maya_material_plan_jsonSTRING{}
filename_overrideoptSTRING

Outputs (3)

NameTypeDescription
written_paths_jsonSTRING
primary_pathSTRING
summary_jsonSTRING