The following are the most significant changes to the 3ds Max 2011 since the previous version.
HardwareLockID() has been deprecated. In 3ds Max 2010 it always returned 0. You will have to implement your own licensing mechanisms for plug-ins if desired.
It is now possible to save a 3ds Max scene to a format compatible with 3ds Max 2010. This functionality is available from the new Interface13 class. Saving the scene to a previous version is like saving out a copy of the current scene in a format compatible with the previous Max version. The saved scene does not become the current scene. Plug-ins present only in 3ds Max 2011, will load as stand-ins in the previous versions. Plug-ins that need to change either their chunk structure, parameter definitions, animatable structure, or reference structure, need to follow specific guidelines outlined in the topic Supporting Save to Previous.
It is important that plug-in developers realize that the save to previous feature does not manage the task of saving plug-ins to another specific version of the plug-in. To do this plug-ins will have to implement their own system to allow users to specify what version of the plug-in to save to.
The interactive modeling dialogs for editable poly objects have been replaced with a new transparent floating UI called a caddy. You can write your own caddy by overriding the class: IBaseGrip. The IGripManager, which is implemented by 3ds Max, is used to activate and manage caddies. For more information see the topic Caddy Controls.
The container feature introduced in 3ds Max 2010 has been extended in 3d Max 2011. Previously, containers would only allow for no access or access to edit in place when inherited so that a user can save a copy on top of the original definition. Now in addition a container can grant access to only add new objects over the inherited container or to get full freedom to access anything that was unlocked on the original source definition. For the latter case the user can specify additional locks over certain items, such as all materials, all modifiers, all transforms or all objects, to restrict what's accessible further. The new containers support is covered in the classes: IContainerObject13 and IContainerPreferences.
The Open EXR bitmap IO plug-in, is not part of 3ds Max SDK 2011. This means that using the SDK you will not be able to get a valid pointer to an object of class IBitmapIO_EXR. Usually when we deprecate an interface, the implementation is still available for a couple of releases, but this was not possible for 3ds Max SDK 2011.
A new plug-in loader has been created specifically for .NET plug-ins which makes it safer for 3ds Max to load and unload .NET and mixed-mode 3ds Max plug-ins. Assemblies (DLLs) which contain .NET or C++/CLI plug-ins should now be placed in the bin/assemblies subfolder of the 3ds Max installation, instead of the plugins folder. The AssemblyLoader class is contained in maxsdk/assemblies/AssemblyLoader.dll and the 64 bit version can be found in maxsdk/x64/assemblies/AssemblyLoader.dll. For more information see the topic .NET Assembly Loader.