The case of the dotXSISceneConverter that wouldn’t load into Maya

In this case, a customer installed Crosswalk for Maya, but he got “Unable to dynamically load dotXSISceneConverter.mll” errors when he tried to load the plugin.

// Error: line 1: Unable to dynamically load : C:/Program Files/Autodesk/Maya2013/bin/plug-ins/dotXSISceneConverter.mll
The specified module could not be found.
// Error: line 1: The specified module could not be found.
// Error: pymel : Failed to get controlCommand list from dotXSISceneConverter // 
// Error: pymel : Failed to get modelEditorCommand list from dotXSISceneConverter // 
// Error: pymel : Failed to get command list from dotXSISceneConverter // 
// Error: pymel : Failed to get constraintCommand list from dotXSISceneConverter // 
// Error: pymel.core : Failed to get depend nodes list from dotXSISceneConverter // 
// Error: line 1: The specified module could not be found.
 (dotXSISceneConverter) // 

Now, this is pretty much the same error you get in Softimage if your PATH is missing the C:\Program Files\Common Files\Softimage location. That’s where the main Crosswalk DLL is installed. To verify this, I fired up Dependency Walker and loaded dotXSISceneConverter.mll (the Maya Crosswalk plugin). And sure enough, I saw that the Maya plugin depends on Crosswalk_2013.0.64.dll (the other errors are for Maya DLLs, so they can be safely ignored, and anything about IESHIMS.DLL can always be ignored).


So the fix is to add the missing Common Files\Softimage path to the PATH environment variable. The Crosswalk installer is supposed to take care of adding C:\Program Files\Common Files\Softimage to the PATH environment variable, but in this case, it apparently didn’t.

Crosswalk 2013 available

I see Crosswalk 2013 was posted over a week ago at

Here’s the new features and fixes:

Crosswalk 2013.0 includes the following new features: 
* Softimage 2013 support
* 3dsmax 2013 support
* Maya 2013 support
* Softimage FBX plugin now uses the latest FBX library (2013).
* Support FBX User Normals
* Support FBX ICE Materials and ICE Textures
* Add "Import Action Source Only" option (For Softimage 2013 only)

Here's the detailed list of fixes:

Crosswalk Setup

SOFT-2523	Crosswalk does not register correctly for XSI 2011
SOFT-5213	Crosswalk - Empty Common Softimage Crosswalk folder created during installation

Softimage - FBX

SOFT-5811	FBX Diffuse port is missing during export / import of Blinn
SOFT-5832	FBX material are in the wrong shader node after export import.
SOFT-5036	Crash when you assign specific tiff with LZW compression
SOFT-5160	FBX XSI crash when export fbx bone using Export Envelope options
SOFT-5677	FBX ICE crash during FBX export in "Mesh_With_Set_ICEMaterials_Tree.scn"
SOFT-5352	FBX exporter is splitting UVs causing issues in pipeline
SOFT-5632	Unused UVs in an object with "Turn Internal Edge" operation will be wrong in the FBX export-import process
SOFT-2161	XSI FBX Export LEAKS when there is UV Texture assigned to material
SOFT-2588	FBXImport did not import fbx file (Robot_FixedForXSI) correctly
SOFT-4921	fbx - Import FBX a file that was exported from 3dsMax and the animation of the Character arms will be wrong.
SOFT-5303	Softimage fails to open medium to large FBX files, using both One-Click and FBX Import
SOFT-5462	Action Items imported from FBX take the length of current scene's start and end frames
SOFT-5430	FBX Import animation - Turn on FCurve by default
SOFT-4876	Unlocalized strings in "ExportCrosswalkOptions" window.
SOFT-4957	ACME-717 | Mobu to Softimage shape anim export problem
SOFT-5106	Truncated "XSIM" under "Crosswalk File Type" on "Scene_Root: ImportCrosswalkOptions" window
SOFT-1725	FBX: unable to export an image node with constant shader
SOFT-2308	The cancel button is not working in the crosswalk FBX import\export
SOFT-5205	"Convert Image Format" is not translated on the "Crosswalk FBX Export" window
SOFT-5206	"Materials And Textures" is not translated in "Include" tab on "Crosswalk FBX Import" window
SOFT-5107	Description on the "Scene_Root:ImportCrosswalkOptions" window is not translated
SOFT-5060	FBX Bone tool : missing a bone during export
SOFT-4807	Exporting several actors copies is not working as expected.
SOFT-4818	FBX imports possibly corrupted nulls
SOFT-4817	Can't rotate null in Z
SOFT-4673	Project templates and custom structures
SOFT-4686	ACME-404 | Performance issue with Crosswalk 2012
SOFT-4582	ACSO-415 | Please increase more the performance with Crosswalk 2012

Softimage - Collada/dotxsi

SOFT-5041	ACME-371 | Crosswalk | Shader parameters animated by the mixer are not persisted properly

Crosswalk, Common Files, and the PATH environment variable

Anytime you have problems with Crosswalk not showing up in Softimage or Crosswalk missing or dotXSI liberaries missing, it’s probably because the Common Files location is missing from your PATH environment variable.

Now, setenv.bat does add the Common Files location to the PATH:

rem Adding folder(s) to the Path
set SOFTIMAGE_COMMONFILES=C:\Program Files\Common Files\Softimage
if not "%XSI_SetenvDone%"=="" goto Done_Path

but strangely, this doesn’t [always] help.

  • If you start Softimage from the Start menu, this Softimage still can’t find the common file Crosswalk_2013.0.64.dll (which is installed in C:\Program Files\Common Files\Softimage).
  • But if you start Softimage from a command prompt with XSI.bat, Softimage does find Crosswalk_2013.0.64.dll.

I stumbled on this when I wrote a little script to check whether or not Common Files was in the PATH. Because setenv.bat prepends the Common Files location to PATH, I need to check whether there is more than one occurrence in the PATH. If there’s just one, then that’s a problem because Crosswalk won’t be found when you start Softimage from the Start menu.

from siutils import si

if Application.Version().split('.')[0]>= "11":
	si = si()					# win32com.client.Dispatch('XSI.Application')
from siutils import log		# LogMessage
from siutils import disp	# win32com.client.Dispatch
from siutils import C		# win32com.client.constants

path = XSIUtils.Environment( 'PATH' )
cf = "".join( [XSIUtils.Environment( 'CommonProgramFiles' ), '\Softimage'] )
#cfx86 = "".join( [XSIUtils.Environment( 'CommonProgramFiles(x86)' ), '\Softimage'] )

# Check Common Files

# Log number of times Common Files is found in PATH
# log( path.split(';').count(cf) )

if path.split(';').count(cf) > 1:
	log( "'%s' is in PATH" % cf )
	log( "'%s' is missing from PATH" % cf, C.siError )