In a Mudbox plug-in you can load or save plug-in data with the scene by overloading the Node::Serialize() method. Mudbox will call Node::Serialize() method with an initialized Stream object. You can then query Stream::IsStoring() to implement the saving or loading application logic, depending on whether the return value is true or false respectively.
Any attributes you create in a plug-in that you wish serialized with the scene will have to be manually serialized. For example:
MyPlugin : Node
{
Attribute A;
Attribute B;
public:
MyPlugin::Serialize(Stream& s) {
f ( s.IsStoring() )
s << A << B;
else
s >> A >> B;
}
};
The Mudbox SDK also provides an overload of the operator== to mean Node::Serialize(). So alternatively you can write:
MyPlugin : Node
{
Attribute A;
Attribute B;
public:
MyPlugin::Serialize(Stream& s) {
s == A == B;
}
};