Components that have enabled property (Camera, Light, Skybox, etc) are inherited from Behaviour but a few components that have enabled property (e.g. Cloth, Collider, etc.) are not. Is there a reason to this inconsistency or is this a mistake of the framework creator?
Based on the reference documentation, it appears that both Behaviour and Collider inherit from Component, and both declare “enabled” variables. So, the “enabled” variables in Collider and Behavior are not inherited from the same base class; they are separate variables with the same name.
As to why this is, it could be a design flaw in the framework. It seems more likely to me that Cloth and Collider deal with the physics engine, so they need a separate variable for some requirement of the physics engine - whereas “enabled” in Behaviour refers to whether Update is called, “enabled” in Collider refers to whether the physics system uses it.