Share

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().

Was this information helpful?