Writing Global Utility Plug-ins (GUPs)
A global utility plug-in should inherit from the GUP class, and may implement one
ore more of the following functions.
- GUP::Start() - Perform initialization tasks, and indicate to 3ds Max whether it is okay to be
deallocated.
- GUP::Stop() - Perform finalization tasks such as freeing resources.
- GUP::Control() - Perform custom processing.
- GUP::Save() - Called when 3ds Max is saving a scene file.
- GUP::Load() - Called when 3ds Max is loading a scene file.
- GUP::DeleteThis() - Called when 3ds Max requests the plug-in to be deleted. A typical implementation
would be { delete this; } .
Once a GUP is started, 3ds Max will not make any other calls into the GUP until the
GUP is unloaded and deallocated. Other plug-ins who access a pointer to the GUP may
choose to call GUP::Control().