So this is starting to come along, and congrats on the progress, but I don't think the implementation of the PBR override material makes any practical sense. A few weeks ago, I mentioned Paul's Octane Modo plugin because he implemented an Octane material override that doesn't alter or wreck the native material/renderer. This is essential. If you wreck the native Unity real-time renderer by losing your realtime shader, then I am struggling to find the the advantage of Offline rendering in Unity vs. just rending directly in your DCC app. What I recommend is a component that we attach to the mesh that allows us to override a material index. This should work meshes that contain multiple materials.
This way, we will have the flexibility of the Octane material node graph, and get to keep the realtime render intact as well.