Maya MetaHuman Plugin: Groom Exporter Fails to Launch

I am working on editing MetaHumans inside Autodesk Maya 2025.3.1. Part of this is making custom hair grooms with XGen. I have been able to use most of the MetaHuman Maya plugin features that were released along with UE 5.6 back in June. The one part of the plugin that fails to even launch for me is the Groom Exporter. Every time I attempt to use it, I get this error code:

// Error: global string $xgmGuideAttrList; $temp = $xgmGuideAttrList;

// Error: Line 1.61: Cannot cast data of type string to string.

# Error: RuntimeError: file C:\Program Files\Epic Games\MetaHumanForMaya\lib\mh_groom_exporter\1.1.3\mh_groom_exporter\xgen_utils.py line 15: Error occurred during execution of MEL script

# Line 1.61: Cannot cast data of type string to string.

This happens to me across all versions of Maya that support the plugin. The pop-up window that should appear never does. All other aspects of the plugin work just fine. I have tried updating the plugin, repairing it, repairing Maya, deleting my preferences and working with defaults, and uninstalling/reinstalling Maya. None of those have worked. I’m not sure what else I can try next to get this tool working, as it would help save me a lot of time instead of using the older methods. Has this happened to anyone else? If so, have you found a workaround/fix?

Steps to Reproduce
Open a scene in Autodesk Maya 2025.3.1 that has an XGen groom meant for a MetaHuman, or just a new Maya scene. Open the MetaHuman plugin menu and launch the Groom Exporter. For me, the Groom Exporter fails to launch; no pop-up window with the tool options appears.

Hi Jonathan,

I have not been able to replicate this with a new Maya scene (that is empty).

On initial glance it looks like a conflict in the use of a $temp MEL variable between the Groom Exporter and another piece of code. Are you able to share the full contents of the script editor log? If you are experiencing the problem on just a new Maya scene this should hopefully not be too long.

As a potential workaround while I investigate further, could you comment out (#) line 15 of C:\Program Files\Epic Games\MetaHumanForMaya\lib\mh_groom_exporter\1.1.3\mh_groom_exporter\xgen_utils.py, start Maya and then load the Groom Exporter.

Thanks,

Mark.

Hi Mark,

Thank you for your reply. This is the contents of the script editor log when I start up Maya in a new empty scene and attempt to open the Groom Exporter:

file -f -new;

// untitled

commandPort -securityWarning -name commandportDefault;

onSetCurrentLayout “General”;

updateRenderOverride;

// AbcExport v1.0 using Alembic 1.8.5 (built May 30 2025 07:16:01)

evalDeferred “shaderBallRendererMenuUpdate”;

import arnold

import mtoa

import mtoa.cmds.registerArnoldRenderer;mtoa.cmds.registerArnoldRenderer.registerArnoldRenderer()

updateRenderOverride;

import mtoa.viewport;mtoa.viewport.add_controls()

// AbcImport v1.0 using Alembic 1.8.5 (built May 30 2025 07:16:01)

# Setting user preference for deformationCreateTweak.

# Loaded SwingTwistEvaluatorPlugin

// MetaHumanForMaya : Checking for updates…

Registering mimetype “.fbx” -> “model/fbx”

Registering mimetype “.hip” -> “application/vnd.houdini.hip”

Registering mimetype “.hipnc” -> “application/vnd.houdini.hipnc”

Registering mimetype “.ma” -> “application/vnd.maya.ma

Registering mimetype “.mb” -> “application/vnd.maya.mb”

Registering mimetype “.usd” -> “model/vnd.pixar.usd”

Registering mimetype “.usdnc” -> “model/vnd.pixar.usd”

Registering mimetype “.usda” -> “model/vnd.pixar.usd”

Registering mimetype “.usdc” -> “model/vnd.pixar.usd”

Reading schema type ids config file: schema_ids.json

Config file not found.

MayaUSD Plugin version: 0.32.0

Initializing ME Data plugin…

updateRendererUI;

// Warning: file: C:/Program Files/Autodesk/Maya2025/scripts/others/saveChanges.mel line 40: Panel size cannot accommodate all requested Heads Up Display elements.

file -f -new;

// untitled

// Error: global string $xgmGuideAttrList; $temp = $xgmGuideAttrList;

// Error: Line 1.61: Cannot cast data of type string to string.

# Error: RuntimeError: file C:\Program Files\Epic Games\MetaHumanForMaya\lib\mh_groom_exporter\1.1.3\mh_groom_exporter\xgen_utils.py line 15: Error occurred during execution of MEL script

# Line 1.61: Cannot cast data of type string to string.

I tried the workaround you suggested, and it worked to open the pop-up window of the Groom Exporter. Which I had not been able to get before. It loads the relevant assets in my scene into its options. The issue I’m currently experiencing is that my exports are failing. I’ll share the content of the exporter log as a text file because it’s quite long.

Thanks, Jonathan.

Ok, well that is a bit of progress. Could I ask you to try the export (now that we have got the tool to load) using the MetaHuman Groom Starter Kit for Maya, available on Fab. There is further documentation for the starter kit here. As a known-good scene, I’m hoping this will tell us if there is a systemic problem, or something more local to your scene.

Mark.

Sure thing, after testing with the scene you mentioned, I was succesful in exporting the groom and importing it into Unreal, so I guess it may be local to my scene? I’m sharing the log of this successful test as well.

I did a little more troubleshooting, and I made a new groom scene of my asset inside the Starter Kit directory and was able to export successfully again. So this for sure leads me to think its something with my local scene and possibly folder structure like you suggested before [mention removed]​ . Which is interesting since the folder structure/directory I’m working from is a default one made by Maya, so it has a similar folder structure as the Starter Kit project. Not sure what’s going on. I’ll try and make a new directory and see what happens

Thank you for the update, Jonathan. I’m not that familiar with XGen or the requirements for the Groom Exporter and so have shared the latest log file with the engineering team to see if we are able to provide some other troubleshooting tips.

Mark.

From this line in the log file:

Error: line 1: More than one object matches name: AB_Kell_TestGuideGroom_SidePart_Desc_splineDescriptionShapeIt suggests there may be multiple descriptions with the same name. There should only be one. Inspect the scene, e.g. using the below MEL line, and see if it returns more than one.

ls AB_Kell_TestGuideGroom_SidePart_Desc_splineDescriptionShapeMark.

Hi Mark, I used the MEL script you shared, but it only returned one line in the log history.[Image Removed]

Hey Jonathan,

Thanks for that, however it doesn’t give us any new information unfortunately. :pensive_face:

Are you able to send the entire Maya scene for us to take a look at?

Cheers

James

Hi James, apologies for the belated response. Unfortunately, I’m not able to share this particular scene because of NDA. I’ve started a fresh test groom replicating the same steps I took with this one, which I can share. Although this one exports successfully (some warnings still appear in the log), I think this issue is specific to something in the scene/file at this point.

Best,

Jonathan

Hey Jonathan,

Sorry for the slow reply on this one!

Without the scene we cant really help any further with the specific issue you are seeing. However one thing the team have mentioned is that we do not support interactive groom. If you are using this in your original scene this could be the reason.

Cheers

James

Hey James,

No worries, thank you for following up. And understood. The interactive groom not being supported leads me to think that maybe my issue. At one point, I converted a regular XGen description into an interactive groom in the scene, but ended up deleting that. So maybe the errors are due to leftover stuff from the interactive groom that shares a similar name to the description. I have been able to export other grooms successfully so far. My biggest issue has been solved, nonetheless, with Mark’s help, as I started with not even being able to open the Groom Exporter. So thank you both for the help!

Best,

Jonathan

Ok great thanks for letting us know!

I shall chat with the team to see if there is something around the interactive grooms we can catch / improve on.

Cheers

James