Question on Inheriting components

I’ve found an interesting thing; a bit of a way to resolve this issue. I noticed that i can create a C++ class based off of AActor, and add in a field for a mesh. Then, ill build a blueprint which parents off of this C++ class as my basebuilding class. I can then make more blueprint parenting off of basebuilding, and ill be able to set my mesh component in each individual BP. This is because mesh is a native C++ component, and apparently, can be overrided in child blueprints.

So in effect, i do AActor → C++ class basebuilding → BPBaseBuilding → Barracks/house/church BP. Then i can override mesh.

It would be nice if this can be done from blueprint without needing C++ class. Adding components in blueprint should maybe just be considered a native C++ component instead of what it currently is.