4.7.6 binary, build 4.7.6-2513093++depot+UE4-Releases+4.7
Of course it’s possible this is not a bug, and if so I’d appreciate any correction. This is similar to the blueprint save bug in [another question][1], but it has nothing to do with /Engine/Transient.
Declaring component to be the root component in a C++ class and then overriding that class with a blueprint leads to the blueprint refusing to save. Beyond that, I cannot declare the root component in the blueprint if any other component has been added in the base class. This makes things challenging, at best.
Steps to reproduce in blank project:
-
Create new project.
-
Create new actor, ActorToOverride.
-
Add the following code to the actor’s constructor:
USceneComponent* pDummyRootComp = NewNamedObject(this, “Root Component”);
if(pDummyRootComp) {
SetRootComponent(pDummyRootComp);
} -
Add new blueprint that overrides ActorToOverride.
-
Click save.
This results in the error message:
Can’t save …/…/…/…/…/…/Projects/BugProjects/RootComponentBug/Content/OverridingBlueprint.uasset: Graph is linked to private object(s) in an external package.
External Object(s):
Root Component
Given the error message, it is possible I need to make the component public somehow, or perhaps there is another way to wire up the root component which offends neither the c++ nor the blueprint.
Best,