Nodes/MKRShift_Nodes/Maya Material Plan
ComfyUI Node

Maya Material Plan

Describe the shader roundtrip before you run it

By criskb·Created 7 months ago·Updated 5 months ago· 0
Maya Material Plan
    • maya_material_plan_json
    • manifest_line
    • summary_json
    asset_path
    target_shader_nameMKRShiftShader
    target_object_name
    apply_modefile_texture
    transport_plan_json

    Plan the shader, don't touch it yet

    The MKRMayaMaterialPlan node is the "describe" half of getting generated textures back onto a Maya shader. It produces a structured JSON plan that says which asset to use, which shader to attach it to, which object (optionally), and how Maya should apply it. The actual file writing happens later in MKRMayaMaterialOutput. Think of it as writing the delivery note before you ship.

    It's part of MKRShift_Nodes, the DCC-bridge pack by Cris K B. Every host integration in the pack follows this plan-then-execute shape, which is the main thing to wrap your head around: the plan node never touches media, and the runtime node never decides where things go.

    The inputs

    Four required, one optional:

    • asset_path - the texture/image file the material plan refers to. The add-on will use this path when it applies the texture to the shader.
    • target_shader_name (default MKRShiftShader) - which shader node to assign to.
    • target_object_name - the object whose material you're replacing. Leave blank for "assign wherever this shader is used".
    • apply_mode - the meat of it: file_texture (wire a file texture into the shader), aiStandardSurface (build/assign an Arnold standard surface), or viewport_preview (viewport-only, no real shader graph changes).
    • Optional transport_plan_json - embed a transport plan from the pack's network lane so the same JSON describes both delivery and application.

    For a beginner, asset_path and apply_mode are the two to actually reason about. file_texture is the safe default that works in any renderer; aiStandardSurface is when you specifically want Arnold.

    The outputs

    • maya_material_plan_json - the plan (mkrshift_maya_material_plan_v1), ready for MKRMayaMaterialOutput.
    • manifest_line - a compact CSV-ish line (shader, object, mode, path) for manifests.
    • summary_json - whether a path is set, whether a transport plan rode along, and warnings.

    Install and the pattern

    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.

    The trap with plan nodes is expecting them to do something. If you run MKRMayaMaterialPlan and nothing happens to your Maya scene, that's correct - you've only written a note. The payoff is that the note is reusable and inspectable: same plan node, new generated textures, and every run is consistent because the destination and mode never drift. If you're piping textures from ComfyUI into Maya lookdev repeatedly, that repeatability is the whole point.

    CategoryMKRShift Nodes/Addons/Maya

    Inputs (5)

    NameTypeDefaultDescription
    asset_pathSTRING
    target_shader_nameSTRINGMKRShiftShader
    target_object_nameSTRING
    apply_modeCOMBOfile_texture3 options: file_texture, aiStandardSurface, viewport_preview
    transport_plan_jsonoptSTRING

    Outputs (3)

    NameTypeDescription
    maya_material_plan_jsonSTRING
    manifest_lineSTRING
    summary_jsonSTRING