I'm trying to build a library of materials for a project by combining the materials I need from a few different sources into one single material library. The reason it needs to be in a material library node is because I want to substantially modify these materials so that they can be controlled by the "Vary Material Assignment" and "Material Variation" nodes.

The sources for these materials are the AMD mtlx materials, the built in mtlx materials, and a bunch of materials I got from Polyhaven. I've downloaded all of these into .mtlx files and their associated texture assets, and then I've imported them with a File LOP set to sublayer mode. And then I use an "Edit Material Network" node to reveal all of the mtlx shader nodes.

And then I copied those shader nodes into a new Material Library following the instructions I found in this forum post:

https://www.sidefx.com/forum/topic/86396/ [www.sidefx.com]

But it just doesn't work. Every single one of these materials work perfectly when I apply them with an Assign Material node after the Edit Material Network LOP, but then they break when I apply them with an Assign Material node after my fresh Material Library LOP.

It loads them fine when I click on auto-fill materials, and I can apply them just fine with the assign materials node. But then it just shows a simple black shiny material on the shader ball no matter what I do. I've checked the references to texture maps, and the file paths are all valid. I'm out of ideas. Has anyone been able to do this?

On that note, how do I even go about troubleshooting something like this? I'm not getting any errors, there isn't any console output or log files that I'm aware of, and there isn't any ability to preview a particular node in the shader graph to inspect the data at that point and get a sense of how things are progressing through the flow. Unlike every other part of Houdini that I've interacted with, as best as I can tell shaders are all or nothing - just works or doesn't - so I don't even know where to start looking to try to fix things.