Incremental Improvements

The following is a list of incremental improvements to the 3ds Max SDK:

Environment Variables

The installer of 3ds Max and the SDK now create the following environment variables:

UI Changes

The method ICustomControl::UpdateEnableState() has been added to the class ICustomControl. This is a helper function to enable or disable a UI control based on whether the Animatable associated with it supports keyframes or not. Note that locked parameters or scripted parameters can not be keyframed.

Changes to SDK Header Files

The 3ds Max SDK header files have been cleaned up and the following changes have been implemented:

As a result of this refactoring effort, in some cases projects that relied on the fact that max.h was included indirectly through another file, may now require additional include directives to successfully compile. In this case we suggest consulting the Max SDK reference guide to find the header files missing, or to use a 3rd party tool such as Visual Assist. Our suggestions for updating your plug-ins to take advantage of these changes are as follows:

Cloning objects

A more robust method of cloning objects is recommended: use RemapDir::CloneRef() or ::CloneRefHierarchy() instead of ReferenceTarget::Clone(). This will correctly perform backpatching of references in the reference hierarchy. If backpatching is not performed, a reference graph can keep references to the original object, instead of to the copied object. Backpatching of references is performed automatically by the RemapDir destructor. Do not call RemapDir::Backpatch() directly.

For more information see the topics Implementing Clone in a Plug-in and Cloning Reference Targets.

Changes to API Behavior

.NET Action Items

It is now possible to create custom action items in a .NET assembly. This is done by creating a public class that implements the interface ICuiActionCommand (found in MaxCustomControls.dll) and placing the DLL containing the implemented interface in the bin\assemblies folder. For more information see the topic .NET Action Items.

Deprecation of AppWizard

The AppWizard is no longer actively supported. It is still being shipped with the 3ds Max SDK but we are recommending people to instead use template projects available online at www.autodesk.com/3dsmax-sdk-docs.