I have a problem where a scriptable object has a custom inspector and when ApplyModifiedProperties is called it sets all open scenes to be dirty, rather than just the scene that contains the scriptable object (the scriptable objects are in an array on a monobehaviour in one scene). Presumably this is because a scriptable object doesn’t have a notion of being in a scene.
Is there a workaround for this?
I have the exact same issue. Did you find a workaround?
Can you file a bug report? We may be able to fix this in the future.
Done! Hopefully this one gets resolved soon, my save time on all loaded dirty scenes is about 20 seconds 
1 Like
I’ve also submitted a bug report.
I’ve found this only occurs with floating ScriptableObjects - ones that aren’t saved as assets.
You can get around it with ApplyModifiedPropertiesWithoutUndo(). Not ideal, but a quick fix for now.
However, I noticed this dirties the scenes:
Undo.RecordObject(object, “undo”);
serializedObject.ApplyModifiedPropertiesWithoutUndo();
The real culprit is Undo.
Just got an email back from Unity, the bug’s been confirmed and it should be resolved in an upcoming build.
1 Like