I find them too opaque.
Requiring extensive custom inspector work.
For example
where tree is a SO that has other SOs as properties
So far so good, it’s only one click away to seeing the production rate of the tree
But then I hit play and the definition of the tree needs to be instantiated so that counters that are inside the property SO can be changed live, for example the list of objects currently produced by the Production property.
When you instantiate a SO at playtime you get this
Tree(Clone) cannot be clicked on to inspect its values.
so the question is, what do you do to shed some of that opacity? how much custom inspector code do you have to spit out before you regain ease of use of the more traditional component on gameobject ?