I'm making a node editor in Unity using an EditorWindow, I'm currently trying to make it so designers can add their own methods to a node using serialized UnityEvents; but I haven't been able to get it to function properly.

    SerializedObject serializedObject = new SerializedObject(selectedNode.NodeState);

    SerializedProperty property = serializedObject.GetIterator();
    property.Next(true);
                
    while (property.NextVisible(false))
    {
        EditorGUILayout.PropertyField(property);

    }
    serializedObject.ApplyModifiedProperties();
                
    serializedObject.Update();

The above code runs through all necessary fields of the class so the user can modify them. 

Everything functions perfectly with the exception of UnityEvents. They almost do as I intend them to do, except they don't preserve the variable inputs of inserted object's method. If I keep working within the editor window they stay, but if I close the window and re-open the inputted variable resets. 

I thought this may be caused by an issue somewhere else in my code, but all other fields work fine.