Going out on a limb here, but does anyone know if it’s possible to know what control/value was changed after a EndChangeCheck() call?
e.g:
EditorGUI.BeginChangeCheck();
EditorGUILayout.PropertyField(myProperty); //this is a property which contains other properties, which contain even more properties.
if (EditorGUI.EndChangeCheck()) {
//some value was changed, but what could it be???
}
One idea I had was to construct a property/value map before drawing the field, then comparing that property/value map to the property after a change is detected. However, I haven’t been able to get values before they change. Every time I compare my values, they always equal the changed value. Maybe there’s some event I can check for before a property is modified?
Another solution is to manually draw the children of the property and check changes per child. This works, but… not when the property has a CustomPropertyDrawer.
In other words. I don’t think it’s possible.