Comments (6)

This is a case (one of several we've had) where Unity's internal unmanaged code somehow breaks the rules, and creates properties for a type in a weird, unpredictable one-off way. Usually we just implement a new custom drawer for the given type that draws it properly, but I have a more general solution in mind that should also apply to the types that we don't have custom drawers for.

That would be a different issue than the one with RectOffset. The thing is, there are many cases where a drawer actually hasn't been defined, and needs to be - dictionaries, for example. We need to detect these cases, and the way we do it is we check if there's a custom drawer defined for the type, and if not, we check whether the type has any properties to display for our composite drawer. If the answer to both is no, we indicate that a drawer is missing.

This isn't really behaviour that we want to change, because we do need to detect when a drawer is missing, but we can see the need to maybe add the ability to change it on a case-by-case basis.

Can I ask, what is your specific case where you don't want it to do this?