Solaris to Unreal with MaterialX

I’m attempting to author a relatively simple MaterialX shader, and import it to UE5.

The MaterialX materials in the free ‘AMD GPUOpen’ Library work just fine, so at a basic level this should be possible.
(Library is here for anyone who doesn’t know about it)

I’ve been trying to use ‘Solaris’, since I’ve got access to it, and it seems to be one of the most complete MaterialX authoring tools currently available.

This will be a long post, but here’s the process I’ve followed so far:

  1. Create a simple VEX network in Solaris

  2. Select the nodes, right click and export to a .mtlx file
    test2.mtlx (4.9 KB)

  3. Try to import this into UE5.1 - it fails, with a very unhelpful error
    Import_error

  4. Compare the raw XML of the exported file with one from AMD that works, to see what the differences are

  5. Manually edit the Solaris export with the missing elements
    test3.mtlx (5.2 KB)
    (Primarily adding a ‘Surface material’ node and a ‘Nodegraph’ specification)

  6. Import to UE

This now imports without errors, but not with the complete graph. It actually looks like ‘divide’ is not supported as a node, which would seem odd.

Somebody, somewhere is doing this very wrong - but I can’t figure out if it’s
a)Epic
b)SideFX
or, the most likely
c)Me

Anyone have an insight here?

4 Likes

Did you find a solution?

No - I did speak to some developers at epic, and the response was basically ‘MaterialX is REALLY early, and not complete - this behavior is not intended, but not surprising’ (I’m paraphrasing, and this isn’t an official epic response, but that was the basic idea)
There has been some more work on MaterialX in 5.2, but I haven’t had time to try it yet. Definitely flag this in the public roadmap as something you are interested in!

2 Likes