Maya 2024 quixel bridge importing dna module error

Hey, guys! I’m trying to start importing metahumans from quixel to maya. And I have error:

Error: ImportError: file C:\Users/Diyavolenka/Documents/Megascans Library/support/plugins/maya/7.1/MSLiveLink/DHI/lib/Windows/python2\dna.py line 15: DLL load failed while importing _py2dna: The specified module could not be found…

According to my feelings, the error is due to the incompatibility of the module pymel.
Since the installation documentation is written for the version 1.2-1.3…
Maybe it have another solution to this problem besides installing maya 2023?

Yes, for normal functioning of MSLiveLink, both the Megascans part and DHI (for import MH), PyMEL must be installed.
The PyMEL version 1.4 works correctly with MSLiveLink 7.1.
But in this case, that is not the problem.
For DHI to work correctly, you need to download plugins for the running version of Maya:
embeddedRL4.mll
MayaUE4RBFPlugin20##.mll * 20## - Maya version.
MayaUERBFPlugin.mll

The problem is that in MSLiveLink 7.1, the DHI module only contains plugins for Maya 2018-2023.
There are no plugins for Maya 2024!

Plugins are used, for example, by Pose Wrangler from Christopher Evans
(aka chrisevans3d).
Now it’s called “pose-driver-connect”.
And moved from:

to:

Supports Maya 2020-2024, Python2 & Python3

How to install PoseWrangler for Maya:

Marketplace will download PoseDriverConnect.zip to \Engine\Plugins\Marketplace\PoseDriverConnect\Content

Extract PoseDriverConnect.zip to your maya/modules folder:

Windows: C:\Users<username>\Documents\Maya\modules
Linux: ~/maya/modules
Restart Maya. You can now run PoseWrangler from the script editor with the following Python code:

from epic_pose_wrangler import main
pose_wrangler_instance = main.PoseWrangler()

That error is normally due to an incompatible compiled python file trying to be loaded - From the error message it looks like it is failing to import _py2dna which is likely the culprit.
I am not sure 2024 is fully supported - I know the support for the latest versions lags behind quite a bit.

If we leave aside emotions about the quality of the code, the essence of the problem is this:
The module ...\QuixelMegascans\support\plugins\maya\7.1\MSLiveLink\DHI\modules\mayaabout.py returns an incorrect value the current version of Maya.
Since Maya 2024 is not listed as a supported version, the code is loaded for the default version: Maya 2017.
Accordingly, it tries to load library code from the Python-2 branch:
...\QuixelMegascans\support\plugins\maya\7.1\MSLiveLink\DHI\lib\Windows\python2
And tries to load plugins for Maya 2017 (which is no longer supported and there are no plugins for this version either :slight_smile: )…

Yes, we can download the MayaUERBFPlugin.mll plugin from the UE Marketplace along with the pose_wrangler module for Maya 2024 (as I described in the previous post)

We can also change a couple of lines in the mayaabout.py and DHIPluginLoader.py modules.

But this won’t solve the problem.

There are files _py2dna.pyd/_py3dna.pyd (which are essentially analogues of dll libraries in Windows) generated/compiled by Cython for a specific version of Python used in a specific version of Maya:
Maya 2018, Maya 2019, Maya 2020, Maya 2022 - Python 2.7.11
Maya 2022 - Python 3.7.7
Maya 2023 - Python 3.9.7
Maya 2024 - Python 3.10.8

Since we do not have the source code for these libraries (and we cannot get it by decompiling the existing ones), we cannot compile these libraries for Maya 2024. That is, for Python 3.10.8…
So, yes, most likely you will have to additionally install Maya 2023.
So it goes…