Why can't a blueprint inherit from all the C++ classes ?

Hi,

I’m starting with Unreal and I noticed that when you create a BP class, all the classes that you can inherit from are not all available whereas in C++ you can inherit from everything. Like StaticMeshComponent or NavMovementComponent. My workaround has been to create a custom class that inherits from those classes and to create blueprint class that inherit from this custom class.

Is there any reasons behind this ?

These classes are not exposed to Blueprints probably because they are not meant to be “customizable” for blueprint users. If you want to extend from one of these, you would have to understand c++ and how these classes work, dive deeper into the engine, otherwise you would mess up with the pipeline and sensible code.

But, that does exist in c++, too. Some classes can’t be inherited in c++, labelled as ENGINE_API if I’m not mistaken.

Thanks,

I understand C++, I just chose to use blueprints because compile time is unfortunately too long on my machine. As I’m just learning things could break easily and recompiling everytime is really annoying for me.
But of course I understand that some things are not made to be done in blueprints.