PlayModeChangesHelper ClassSTUUI API Documentation V1.0.0
You can use this class in your customer editor scripts to support persisting changes applied during play mode. It only works on the component that the custom inspector is handling but supports changes in multiple objects during one session.
Inheritance Hierarchy

OnlineSystem Object
  NarayanaGames.UnityEditor.Common PlayModeChangesHelper

Namespace: NarayanaGames.UnityEditor.Common
Assembly: Assembly-CSharp-Editor (in Assembly-CSharp-Editor.dll) Version: 0.0.0.0
Syntax

public class PlayModeChangesHelper
Remarks

For a tutorial on persisting your changes made in play mode see Online ScoreFlash-Tutorial: Persisting Changes after Playing
Examples

The following additions are needed in your custom inspector for changes in play mode to be persisted (if user tells the component to do so ;-) ):
using NarayanaGames.UnityEditor.Common; // on top of the file 

private static Dictionary<Object, PlayModeChangesHelper> playModeChangesHelpers = new Dictionary<Object, PlayModeChangesHelper>();
private PlayModeChangesHelper PlayModeChangesHelper {
    get {
        if (!playModeChangesHelpers.ContainsKey(target)) {
            playModeChangesHelpers[target] = new PlayModeChangesHelper(target, "PersistChanges_YourComponentName");
        }
        return playModeChangesHelpers[target];
    }
}

void OnEnable() {
    // ... whatever you need to do in OnEnable ;-)

    PlayModeChangesHelper.InspectorEnabled(this.target);
}

public override void OnInspectorGUI() {
    serializedObject.Update();

    // DrawCustomGUI(); // ... or however you do this ;-) 

    // it is recommended that you put the persist GUI at the end of your inspector
    PlayModeChangesHelper.DrawInspectorGUI(playModeChangesHelpers);

    serializedObject.ApplyModifiedProperties();
}
See Also