So i am designing a custom editor hierarchy, on which hierarchy items are data in a struct array, put on a scriptable object for safekeeping. One of the data-types inside the struct is list of integers, representing ID numbers 'linking' other hierarchy items to each other. When the editor calls the OnValidate() function, everything in the scriptable object is updated accordingly, however this only happens if i manually make a change to it in the inspector. This cause e.g. my 'link items' function to fail after adding new items to the struct array through script. i suspect this might be because scriptable objects hate using lists inside of a struct array, but im not sure, since everything works fine after i tweak a dumb thing in the scriptable object using the inspector (causing OnValidate to be fired). (forgive the low gif quality, its a 10mb limit); PS: The error message is "NullReferenceException: Object reference not set to an instance of an object" when accessing the list within the struct array using List.Contains() and List.Add(). The debug.log is a fired in the scriptable objects OnValidate() I was wondering if there was a way of forcing a scriptable object to re-validate using a function in a editor script, since it would solve my issue (something like Validate(object)). Couldn't find anything like it in the docs.