Home Website Youtube GitHub

Game tools only exporting .jmm

Hello, me again!

Using version 5.3.3

I am following this tutorial about exporting/creating a game ready rig with MGear using the Shifter Game Tools panel. (Or in the new version it looks like it’s named Game Tool Disconnect + Assembly IO?)

However when following the tutorial it only exports a .jmm and I am unsure why. I noticed several comments stating similar and this previous post as well but not able to find a fix;

This is the error that shows in the script editor;

file -f -new;
// untitled
commandPort -securityWarning -name commandportDefault;
onSetCurrentLayout "General";
// Successfully loaded flowRenderSubmit command
// Successfully loaded flowRenderJobMonitor command
// Successfully loaded flowRenderQuery command
evalDeferred "shaderBallRendererMenuUpdate";
import arnold
import mtoa
import mtoa.cmds.registerArnoldRenderer;mtoa.cmds.registerArnoldRenderer.registerArnoldRenderer()
updateRenderOverride;
import mtoa.viewport;mtoa.viewport.add_controls()
// Successfully loaded Flow Render Menu
// Successfully loaded Flow Render Mel Commands
// AbcExport v1.0 using Alembic 1.8.5 (built Sep 19 2024 06:28:52)
// AbcImport v1.0 using Alembic 1.8.5 (built Sep 19 2024 06:28:52)
updateRendererUI;
file -f -options "v=0;"  -ignoreVersion  -typ "mayaBinary" -o "C:/Users/fires/Downloads/260602 (1)/260602/Firestoem_3D_Project/scenes/Snapper_gameexport.mb";addRecentFile("C:/Users/fires/Downloads/260602 (1)/260602/Firestoem_3D_Project/scenes/Snapper_gameexport.mb", "mayaBinary");
requires -nodeType "mgear_curveCns" -nodeType "mgear_rollSplineKine" -nodeType "mgear_slideCurve2" -nodeType "mgear_squashStretch2" -nodeType "mgear_ikfk2Bone" -nodeType "mgear_inverseRotOrder" -nodeType "mgear_mulMatrix" -nodeType "mgear_intMatrix" -nodeType "mgear_springNode" -nodeType "mgear_matrixConstraint" "mgear_solvers" "2.2.0";
requires "stereoCamera" "10.0";
updateRenderOverride;
// Warning: line 1253: The default image may not be modified. Use the -i/image flag instead.
// File read in  1.8 seconds.
select -r -sym leg_L0_ik_ctl ;
move -r -11.838382 26.749207 26.587412 ;
// Undo: move -r -11.838382 26.749207 26.587412 
select -r rig ;
select -r Snapper1 ;
# Traceback (most recent call last):
#   File "C:\Users\fires\Documents\maya\modules\scripts\mgear\shifter\game_tools_disconnect.py", line 766, in disconnectExport
#     exportAssetAssembly(
#   File "C:\Users\fires\Documents\maya\modules\scripts\mgear\core\utils.py", line 265, in wrap
#     raise e
#   File "C:\Users\fires\Documents\maya\modules\scripts\mgear\core\utils.py", line 262, in wrap
#     return func(*args, **kwargs)
#            ^^^^^^^^^^^^^^^^^^^^^
#   File "C:\Users\fires\Documents\maya\modules\scripts\mgear\shifter\game_tools_disconnect.py", line 527, in exportAssetAssembly
#     pm.disconnectAttr(deformersGrp.message, cnx)
#   File "C:\Users\fires\Documents\maya\modules\scripts\mgear\pymaya\cmd.py", line 756, in disconnectAttr
#     cmds.disconnectAttr(*args, **kwargs)
# RuntimeError: There is no connection from 'rig_deformers_grp.message' to 'rig_sets_grp.dnSetMembers' to disconnect
# 
select -r model ;
select -r jnt_org ;
select -r Snapper1 ;
select -r rig ;
select -r rig ;
# Traceback (most recent call last):
#   File "C:\Users\fires\Documents\maya\modules\scripts\mgear\shifter\game_tools_disconnect.py", line 766, in disconnectExport
#     exportAssetAssembly(
#   File "C:\Users\fires\Documents\maya\modules\scripts\mgear\core\utils.py", line 265, in wrap
#     raise e
#   File "C:\Users\fires\Documents\maya\modules\scripts\mgear\core\utils.py", line 262, in wrap
#     return func(*args, **kwargs)
#            ^^^^^^^^^^^^^^^^^^^^^
#   File "C:\Users\fires\Documents\maya\modules\scripts\mgear\shifter\game_tools_disconnect.py", line 510, in exportAssetAssembly
#     pm.disconnectAttr(rigTopNode.jnt_vis, jnt_org.visibility)
#   File "C:\Users\fires\Documents\maya\modules\scripts\mgear\pymaya\cmd.py", line 756, in disconnectAttr
#     cmds.disconnectAttr(*args, **kwargs)
# RuntimeError: There is no connection from 'rig.jnt_vis' to 'jnt_org.visibility' to disconnect
# 
select -r rig ;
select -r world_ctl ;
// Warning: Please select a valid rig top node!. 'world_ctl' is not a rig top node
select -r setup ;
select -r model ;
select -r Snapper1 ;
select -r Foot_Claw_01 ;
file -f -options "v=0;"  -ignoreVersion  -typ "mayaBinary" -o "C:/Users/fires/Downloads/260602 (1)/260602/Firestoem_3D_Project/scenes/Snapper_gameexport.mb";addRecentFile("C:/Users/fires/Downloads/260602 (1)/260602/Firestoem_3D_Project/scenes/Snapper_gameexport.mb", "mayaBinary");
requires -nodeType "mgear_curveCns" -nodeType "mgear_rollSplineKine" -nodeType "mgear_slideCurve2" -nodeType "mgear_squashStretch2" -nodeType "mgear_ikfk2Bone" -nodeType "mgear_inverseRotOrder" -nodeType "mgear_mulMatrix" -nodeType "mgear_intMatrix" -nodeType "mgear_springNode" -nodeType "mgear_matrixConstraint" "mgear_solvers" "2.2.0";
requires "stereoCamera" "10.0";
// Warning: line 1253: The default image may not be modified. Use the -i/image flag instead.
// File read in  1.7 seconds.
select -r rig ;
select -r Snapper1 ;
# Traceback (most recent call last):
#   File "C:\Users\fires\Documents\maya\modules\scripts\mgear\shifter\game_tools_disconnect.py", line 766, in disconnectExport
#     exportAssetAssembly(
#   File "C:\Users\fires\Documents\maya\modules\scripts\mgear\core\utils.py", line 265, in wrap
#     raise e
#   File "C:\Users\fires\Documents\maya\modules\scripts\mgear\core\utils.py", line 262, in wrap
#     return func(*args, **kwargs)
#            ^^^^^^^^^^^^^^^^^^^^^
#   File "C:\Users\fires\Documents\maya\modules\scripts\mgear\shifter\game_tools_disconnect.py", line 527, in exportAssetAssembly
#     pm.disconnectAttr(deformersGrp.message, cnx)
#   File "C:\Users\fires\Documents\maya\modules\scripts\mgear\pymaya\cmd.py", line 756, in disconnectAttr
#     cmds.disconnectAttr(*args, **kwargs)
# RuntimeError: There is no connection from 'rig_deformers_grp.message' to 'rig_sets_grp.dnSetMembers' to disconnect
# 

Any ideas or tips of what I might be doing wrong?

I need to check this tool again. I am not using it in production and maybe is buggy.
Can you log this issue on a Github ticket?
Thanks

1 Like

Thank you Miquel! I posted it there;

Is this something that doesn’t need to be done to import into Unreal?

To export to Unreal you don’t need that, just delete the rig and keep joints. You can do it with the simple command in the same menu, or with the FBX exporter
This tool was done cover some workflows where you separate the rig from the joints/Geo and reference it back. Some studios like to do that to edit geo after the rig is done.
But personally I discourage it, in favor of a Data-centric approach with a clean build

1 Like

Ah I see, thank you!! This helps a bunch :grin: