SerializedObject.UpdateIfDirtyOrScript

function UpdateIfDirtyOrScript () : void

Description

Update serialized object's representation, only if the object has been modified since the last call to Update or if it is a script.

In which case it is not safe to assume that SetDirty has been called.