Please be aware of the following list of known problems and limitations (this is a partial list of course, for the most important issues). These problems apply to all platforms, unless otherwise specified.
| Bug ID |
Description/Workaround |
| UDEV00167590 |
64-bit | .mov files are not supported under Win64. |
| UDEV00177961 |
Foundation-Linux Alt+tab Segmentation faults |
| UDEV00134853 |
If other applications are using a lot of Windows resources, XSI (or many instances of XSI) might not start. |
| UDEV00136107 |
Local Models: You can no longer specify external storage (.mdl files) for local (that is, non-referenced) models. If you open a scene with externally stored local models that was created in an earlier version of SOFTIMAGE|XSI, the models are converted to internal storage and their data is saved directly in the scene. |
| UDEV00035689 |
Cannot duplicate an object inside a referenced model. |
| Workaround: Set Hierarchy to None or New Null Parent (i.e. anything except Share Parent) in the Duplicate Options. |
| UDEV00049510 |
Cannot duplicate a model source. |
| Workaround: Duplicate the reference model. |
| UDEV00084215 |
SDK Documentation: The F1 key for opening documents is not working properly when the JAVA plugin is installed. |
| The java plug-in comes with any SUN Java SDK or JRE (java2) that you can download at www.javasoft.com and it is a new version of the JAVA VM. A quick workaround is to go under the control panel and inside the plug-in tab, simply uncheck the "Internet Explorer" checkbox.. |
| UDEV00072643 |
Instances - OM/Command: Cannot find the master an instance belongs to. |
| Workaround: Get the information through the file service object. |
| UDEV00032294 |
Instances | Unable to instance certain models. |
| Workaround: Put the object in a new model. |
| UDEV00071768 |
Browser : Refresh doesn't group an image sequence on generation correctly. Note: You need 2 XSI's running - 1 rendering. The sequence group/folders are confused by the new files being created by the other XSI's render. If you go up a level and then back down to render pictures you get a new folder.
[1..12].pic, [1...38].pic each time you do this. |
| UDEV00076149 |
Negative numbers allowed as identifiers (shouldn't be allowed) Note: If you name an object e.g. -23, you won't be able to use it with the expression op. |
| UDEV00073124 |
XSI crashes if the latest video drivers have not been installed when switching to DX mode |
| UDEV00076962 |
GetValue fails when a cluster has the same name as what its type refers to. |
| UDEV00079569 |
Duplicate symmetry does not work on objects with a cluster center operator in their construction history. |
| Workaround: must freeze the cluster center operator before duplicate symmetry. |
| UDEV00077793 |
Animation on model root lost when exporting .emdl files. |
| Workaround: Add a null under the model and put the animation on it. |
| UDEV00029452 |
Startup very slow when SPM_HOST isn't set to localhost. |
| UDEV00030807 |
Saving a scene can loose the animation on refmodels when mixing the preference that set the prefix on refmodel. |
| Bug ID |
Description/Workaround |
| UDEV00081519 |
SPDL files cannot be installed when the user is not a power-user or administrator of their machine (Windows only). Once a SPDL file is installed it can be used by a user with lower priviledges. Note: Connecting to a workgroup will automatically attempt to install any SPDL files found there. Therefore workgroup based shaders or operators may appear to be broken because of this limitation. |
| Workaround: Give all users "power-user" or "administrator" status on their machines. Otherwise make sure that all SPDL files are explicitly installed by someone with sufficient priviledges. |
| UDEV00036343 |
Primitive::GetConstructionHistory is not implement in the C++ API. |
| Workaround: Use SIObject::GetNestedObjects to retrieve the operators connected to a Primitive. |
| UDEV00080053 |
The AlignCenter, AlignRight and AlignLeft SPDL keywords are not supported. This also applies to PPGLayout based layouts. |
| UDEV00184942 |
OnTerminate event when using the new self-installed event code does not work. |
| Workaround: Use the legacy Application.Advise mechanism to create terminate events |
| UDEV00048516 |
In some cases it is necessary to use InputPort.Value rather than InputPort.Target2 to get accurate data inside a Custom Operator. |
| UDEV00170452 |
Problem: If a selection event is muted inside a script it will remain active until the script has finished executing. Therefore it is not possible to temporarily disable a selection event to prevent if from executing when a script intentionally changes the selection. |
| Workaround: Use a global variable or some other mechanism to tell the selection event to do nothing, rather than relying on the offical XSI mute functionality. |
| UDEV00040317 |
For siControlFilePath controls inside PPGLayouts, setting the siUIFileMustExist flag to zero does not work. However the openfile flag does work. |
| UDEV00077646 |
The XSI plug-in wizards will sometimes allow creation of an invalid plug-in. For example the scripting name of Custom Parameters should never begin with a number. |
| Workaround: Always provide names that match XSI parameter naming conventions. |
| UDEV00070782 |
The vbscript MsgBox command may truncate some text. |
| Workaround: Use XSIUIToolkit.MsgBox instead. |
| UDEV00081980 |
It may be necessary to close XSI in order to update a Mental Ray Shader DLL. Once it has been loaded by Mental Ray for rendering it may remain in memory, preventing recompilation of the .DLL or .SO. |
| UDEV00072518 |
If two commands by the same name are created then this may break functionality depending on either of the commands, and hence XSI plugins may break. |
| Workaround: Users are recommended to pick a name that is unlike to be picked by anyone else, for example with a prefix based on the company or plugin. The same name should be used for both the command name and command script name. |
| UDEV00178715 |
The label of a Custom Menu can normally be set by calling SIObject.Name in the Init Callback for a menu. However this does not work if the custom menu is at the top menu. |
| Workaround: When the label is not set explicitly it is based on the name of the custom menu. Spaces can be used in that string, they will be striped out for the generation of the callback names. However there is a limitation that top level menus cannot start with a number character. |
| UDEV00180585 |
Normally XSI remembers whether an event has been muted by persisting the information. However the Event mute state is not persisted if event name is longer that 30 characters. |
| Workaround: Pick names less than 30 characters |
| UDEV00083844 |
If an XSI workgroup contains ActiveX (COM-based) DLLs then XSI does not automatically register them for each user who connects to the workgroup. |
| Workaround: Write a simple script-based self-installed plugin and sort it on the workgroup. This plugin uses XSIUtils.LaunchProcess to call cmdreg.exe to register each dll file as necessary. By placing this code within the XSILoadPlugin callback it will run at startup or as soon as the workgroup is connected. |
| UDEV00036121 |
If a custom property is connected to a custom operator it may be necessary to specify the additional classification flags 0x4061 on each parameter of the Custom Property. The ensures that the operator will evaluate properly. |
| UDEV00077145 |
Geometry.Samples returns a SamplePointCollection, and the methods of PolygonNodeCollection are not available on this returned object. |
| UDEV00025517 |
A parameters of a Custom Operator is not exposed in the Object Model Parameter collection if it has the siNotInspectable flag. |
| Workaround: Use a custom layout to specify which parameters are shown on the Property Page, rather than this capability. |
| UDEV00028382 |
A Custom Preference that is deleted in the explorer will re-appear the next time XSI is restarted. The only supported way to completely remove a custom preference is to remove the associated .Preset file from disk. |
| UDEV00027368 |
The command line options 'xsi -i' and 'xsi -u' do not support wildcards. For example 'xsi -u *.spdl' is not supported. |
| UDEV00184459 |
The Category argument to InstallCustomPreferences does not work. |
| Workaround: Do not specify a category. The resulting custom preferences will appear under the Custom node. |
| UDEV00085681 |
It is possible to connect a scripted operator to a 3d object and read its envelopes however, this kind of operator is illegal in the context of scripted operators and may lead to un-expected results. If you need to read the envelope's deformers you must explicitly connect to them. This is the only way to ensure that the deformers are evaluated correctly and that you do no create an evaluation cycle ( recursive loop in the scene graph evaluation ). |
| UDEV00137033 |
CreateToolbar command creates an old style toolbar (.DSToolbar). Workaround: write the XML file for a toolbar directly. The toolbar wizard includes a helper script command that can be used to do this easily. |
| UDEV00140596 |
The collection returned by the Object Model Constraint.Constraining method may contain the same object multiple times. |
| Workaround: Filter the returned collection to remove duplicate entries. Once possible way to do this is to use an XSICollection with the Unique property set to true. |
| UDEV00030278 |
A Cluster SDK object will become invalid if a cluster property underneath it is frozen. In general it is not safe to cache a cluster object and reference if after significant changes have occurred on the geometry, its clusters or the cluster properties. |
| Workaround: Get a new SDK object for the cluster after the freeze operation. A straightfoward way to do this is to remember the fullname of the cluster inside a string variable, then call GetValue or Dictionary.GetObject to retreive a new SDK object. |
| UDEV00185412 |
The siOnEndSceneSave event does not pass the file path of the file that is being saved. If the file has already been saved its path can be determined via the object model, e.g. Application.ActiveProject.ActiveScene.Filename.Value. However if the scene has never been saved the scene filename has not yet been determined at the time the callback is performed. |
| UDEV00027212 |
The MenuItem.Filter method only works for contextual based menus. |
| Workaround: Set the menu to dynamic, so the Init method is called each time it is shown. The menu can then be rebuilt according to the current context. |
| UDEV00141062 |
FCurve.SetKeyTangents does not work in some cases. |
| Workaround: Set the tangents using methods like FCurveKey.LeftTanY. |
| UDEV00189352 |
Custom Property Wizard does not create Animated Parameters properly in Python. |
| Workaround: Replace the " or " with " + " in the generated AddParameter2 calls. For example: CustomProperty.AddParameter2 ("Param",constants.siInt4,0,0,100,0,100,0,constants.siPersistable + constants.siAnimatable). |
| Bug ID |
Description/Workaround |
| UDEV00037149 |
Schematic - constraint links are not selectable when constraining object is animated. |
| UDEV00080053 |
PPGLayout - aligncenter keyword not working (SPDL or scripting) |
| UDEV00070898 |
Light shaders created with the SDK do not support manipulators. If the shader is connected as a base shader in the rendertree, the XSI manipulatordisappears and is not available when pressing <b> to manipulate the light. |
| UDEV00065195 |
Refresh - docked property editor viewport not refreshing. |
| UDEV00078630 |
Vertex Color- propagation problems when subdividing model (RenderVertex, Subdivision) |
| Workaround: Adjust a parameter for any other axis to generate a command, and then adjust the command for the x axis: ie: SetValue "Passes.Default_Pass.Environment.transform.StaticKineState.sclx", 2 |
| UDEV00071953 |
Hidden Polygon: Grow Selection and Select Adjacent polygon should not select the hidden polygon |
| UDEV00049379 |
Display mode switching (based on distance) doesn't work unless "display distance to output camera" is set. |
| UDEV00068855 |
Environment pass shader, unable to edit X transformation from ppg, only from command line. |
| Workaround: Scripting. Adjust a parameter for any other axis to generate a command, and then adjust the command for the x axis: ie: SetValue "Passes.Default_Pass.Environment.transform.StaticKineState.sclx", 2 |
| UDEV00072067 |
Bad refresh when clicking on points with the paint tool Note: When a weight map is present the problem does not occur. This problem occurs on both NURBS and Meshes with no property to paint. |
| UDEV00024638 |
Rotated objects orbit the plane center when using manipulators in Plane mode. |
| Workaround: Use COG or change the pivot manually. |
| UDEV00026175 |
Linux - With a dual screen, any transient explorer is opened in the left screen corner. |
| Note: This is due to a Sawfish preference. Workaround: Execute the following command : rm -rf ~/.sawfish |
| UDEV00031951 |
"Save Preset" doesn't save the modified Capability flags in PPG. |
| UDEV00066307 |
Dual screen and Single screen option does not work on Linux. |
| UDEV00025549 |
Unable to assign a Object material to a polygon selection. |