Can you edit inherited components?

Is it possible somehow to edit inherited components?

F.e. I have blueprint A, which containt manually added SpringArm and Camera. I created blueprint B, which inherits bp A, but now I can’t edit anything from SpringArm and Camera. Is it a bug?

Same here, have You solved it yet?

Howdy!

Inherited components can only be altered by editing the Parent. You can inherit the components from one Blueprint to augment and serve as a foundation for another Blueprint, but the inherited components (which are shown as a darker blue color in the components tab) cannot be renamed, removed or deleted.

-W

As it was answered here: Edit inherited components - Blueprint Visual Scripting - Unreal Engine Forums , I hope that components will be editable in future :slight_smile:

I’ve moved that components into native code. Native components are editable in any child blueprint.

So, i have the same situation: i made a Cube blueprint (an actor) with a static mesh component variable, that represent a general cube, from wich i want to derive 3 other actors; CubeSmall, CubeMedium, and CubeLarge.
I would like to leave empty the variable in the main Cube blueprint, and let the derived class use their own mesh (three different sized cube meshes, nothing special).

My mainly purpose is to understand bluepirnts inheritance, for something more complex like Item actor from wich i can derive Weapon and ather actor blueprints, setting in the main blueprint the most common variables and “methods” that have to be inherited from derived blueprints.

Coming from a C/C++ background i tend to think an inherited variable as something that derived class(es) can access and modify.
Is this different in UE blueprints?

How can i achieve this?

Ok, i solved my problem adding a static mesh variable tu the Cube bp, setting it to the desired mesh in the derived cube_small bp, and managing the ConstructionScript to change the static_mesh component with the variable as in

.

I did the same thing also for a material instance.

The better question- can you make a non-inherited component inherited in BP components??

I create aSpline component inside an actor and I can’t edit the control points… if you add it by hand using the editor, you can…

Right now we have a variable for a component class:
In the constructor of the Actor class I add a subcomponent like this:

var = CreateDefaultSubobject(“name”);
var->SetComponent(this);
var->bEditableWhenInherited = true;

The EditableWhenInherited allows us to change the parameters. But the component is hidden unless it’s the root component… and also, depending on the kind of component, you can’t edit some stuff… for example… if you create a Spline Component that should be inside a SceneComponent that is the root… you can’t modify it’s control points…