Creating Vehicle.cpp causes issues on project reload

Creating a class called Vehicle and then a blueprint based on that class causes serious issues on project reload. The following errors appear in the log at start up, where VehiBP is the blueprint that has Vehicle as a parent:

Warning CreateExport: Failed to load Outer for resource ‘DefaultSceneRoot’: BlueprintGeneratedClass /Game/stuff/VehiBP.VehiBP_C
Warning CreateExport: Failed to load Outer for resource ‘UserConstructionScript’: BlueprintGeneratedClass /Game/stuff/VehiBP.VehiBP_C
Warning CreateExport: Failed to load Outer for resource ‘DefaultSceneRoot_GEN_VARIABLE’: BlueprintGeneratedClass /Game/stuff/VehiBP.VehiBP_C
Warning CreateExport: Failed to load Outer for resource ‘SimpleConstructionScript_0’: BlueprintGeneratedClass /Game/stuff/VehiBP.VehiBP_C
Warning CreateExport: Failed to load Outer for resource ‘SCS_Node_0’: SimpleConstructionScript /Game/stuff/VehiBP.VehiBP_C:SimpleConstructionScript_0

The Vehicle class’ parent does not appear to matter (tested with Pawn and Actor).
The blueprint then becomes inaccessible as it reportedly has an invalid parent:

Blueprint could not be loaded because it derives from an invalid class. Check to make sure the parent class for this blueprint hasn’t been removed!

This is a relatively serious issue, since there is no warning against selecting the name of the class and it can lead to lost work when the blueprint loses its parent.

Hey achilleas-

I noticed the same behavior and have entered a bug report for investigation (UE-20843). However this only seemed to be when the class was named Vehicle, using a different name for the class allowed the blueprint to be accessed normally.

Cheers

Indeed, it only works with that particular name. I tried a couple of other generic names, to see if it’s generally a problem of the class name conflicting with common nouns (internal variables, perhaps), but had no luck finding another case.