Howdy!
We are working on standing up a MetaHuman pipeline and have a question about the Maya plugins provided through Quixel Bridge. Is there any way to distribute these plugins through source control and directly inject them into Maya? We’d like to try and avoid having folks install things and handle getting new plugins entirely through UGS/perforce. We installed the package manually through Quixel Bridge and copied all the files into p4.
This works for the person that did the install (but only for them). However, on testing on another computer, only the embeddedRL4.mll plugin works this way. Both MayaUE4RBFPlugin2023.mll and MayaUERBFPlugin.mll fail to load. If I try to install these manually (not utilizing DHIPluginLoader.py), they also fail. However, if I copy the files from p4 to a new directory, they work. Perhaps there is some necessary logic in the Quixel Bridge install missing from our process, or maybe doing what we’re attempting is very much something we shouldn’t attempt.
If you have any guidance on trying to provide our artists these plugins and skipping the manual install process, that would be much appreciated!
Cheers,
Nathan
Hi Nathan,
Is there an error message when they fail to load - if so, please could you share that?
If I understand your question correctly, this works when the plugins have been copied outside of P4. Is there any permissions differences between the P4 and non-P4 location, perhaps?
Thanks,
Mark.
Thanks, Nathan.
A suggestion from the team has been to check for the xinput1_3.dll library on the machines that have the problem. This is a dependency of at least MayaUERBFPlugin and I think we’ve seen problems in the past. I believe it is part of DirectX.
Just to note that if/when you move to Unreal Engine 5.6, this functionality has moved to MetaHuman for Maya.
MetaHuman for Maya replaces Quixel Bridge for loading characters created using MetaHuman Creator in Unreal Engine 5.6 and onwards. While the underlying implementation is broadly similar, there are some changes and it has been built with hopefully easier distribution in mind. You should continue using Quixel Bridge until you upgrade, however.
Thanks, Nathan.
I’ve shared this with the engineering team to see if there are other troubleshooting steps we can suggest. Unfortunately, if it is a case of spotting the difference between multiple computers in your own environment then we might be limited in how much we can help.
Assuming it is a dependency issue (similar to xinput1_3) you might try inspecting the dependencies of the MayaUERBFPlugin.mll file. This could be done using the dumpbin.exe application (although there are alternatives such as Dependencies). This should enumerate the dependent libraries, in depending on the approach you used, also tell you where they can be found (or not). It might be as simple as needing to install the latest Visual C++ Redistributable runtime libraries.
And also, double check that the MayaUERBFPlugin.mll isn’t being loaded by Maya from the original Quixel Bridge location still. We have a check to catch this so it is unlikely to be the case, but worth checking in Maya’s plugin manager.
Thanks,
Mark.
Hey Mark!
The error is a bit generic. Pasting it here:
// Error: file: C:/Program Files/Autodesk/Maya2023/scripts/others/pluginWin.mel line 934: Unable to dynamically load : D:/snip/Quixel/MSLiveLink/DHI/plugins/Windows/2023/MayaUE4RBFPlugin2023.mll // The specified module could not be found.
We also thought that might be the case, so we attempted to run an shutil copy operation to put the .mll files in a generic appdata location. This resulted in the same error. If I copy the .mll one directory higher, it works, but only if I do this without python (I have to manually use explorer to move the file). The same was true both in appdata and in the p4 directory location. Sorry that’s such a strange, narrow case! For what it’s worth, the EmbeddedRL4.mll does not have this issue. Only the two Maya RBF .mll files.
Thanks Mark!
Sorry for the slow reply! I’ll give this a try and report back. This could help explain why we see it mostly failing on engineer computers and working on art ones.
Hey Mark,
Just to follow up -- I was still experiencing the issue after verifying I have xinput1_3.dll on my computer.
I decided to just try using a fresh version of Maya and following the steps outlined in the link you provided. Even that unfortunately does not work for my computer. It seems I’m missing some dependency for MayaUERBFPlugin.mll. Here are the steps I followed (and FWIW, I am the only computer of 3 others experiencing this -- the other 3 have worked fine, so I am an outlier):
1) Install Metahuman for Maya using the MSI file to the default program files location.
2) Open a basic Maya (outside our UGS pipeline just in case that was it).
3) Enabled the ‘loaded’ option for MetaHumanForMaya.
This is the full error I get:
# Setting user preference for deformationCreateTweak. // Error: file: C:/Program Files/Autodesk/Maya2023/scripts/others/pluginWin.mel line 316: Unable to dynamically load : C:/Program Files/Epic Games/MetaHumanForMaya/lib/MayaUERBFPlugin/1.3.1/platform-windows/maya-2023/plugin/MayaUERBFPlugin.mll // # The specified module could not be found. // # // # The specified module could not be found. // # (MayaUERBFPlugin) // # Traceback (most recent call last): // # File "C:/Program Files/Epic Games/MetaHumanForMaya/plugin/MetaHumanForMaya.py", line 511, in initializePlugin // # initialization = initialization_checks() // # File "C:/Program Files/Epic Games/MetaHumanForMaya/plugin/MetaHumanForMaya.py", line 358, in initialization_checks // # cmds.loadPlugin(name) // # RuntimeError: Unable to dynamically load : C:/Program Files/Epic Games/MetaHumanForMaya/lib/MayaUERBFPlugin/1.3.1/platform-windows/maya-2023/plugin/MayaUERBFPlugin.mll // # The specified module could not be found. // # // # The specified module could not be found. // # (MayaUERBFPlugin) // Warning: file: C:/Program Files/Autodesk/Maya2023/scripts/others/pluginWin.mel line 316: Failed to call script initialize function // Error: file: C:/Program Files/Autodesk/Maya2023/scripts/others/pluginWin.mel line 316: (MetaHumanForMaya)