Is there a working method to compose blueprints?

Hi there,

I basically need a staticMeshComponent in my blueprint which some additional data (some strings, an array of integers and so on).

AFAIK it isn’t possible to add blueprints as components in other blueprints (and being able to configure them in the editor like other components, so childActor is no solution here).

So I basically would like to derive from staticMeshComponent, add a few new variables and then add this ‘staticMeshComponentExtended’ to my original blueprint. Alternatively I could use a map of settings with a reference to the specific staticMeshComponent in my existing blueprint.

But that seems not possible either, because the dropdown in the blueprint editor just stays empty instead of listing the names of all existing components in the blueprint.

I really need some method to just define a class, add the stuff I need and then use that as a component in a blueprint.

How is this supposed to work? Why is there no such thing as a ‘Blueprint wrapper’ for components? Is this really only possible with C++? If so, where can I find the full documentation how to do this?

Thank you,

EDIT: Even the C++ method doesn’t work for me. I added

UCLASS(meta = (ClassGroup = VRSR, BlueprintSpawnableComponent))

to my class derived from UStaticMeshComponent, but the editor doesn’t still list it as reusable component.

You to add code to an instance and not to a class ?
If so, why don’t you use the level blueprint?

No, I want to add code and/or data to components or alternatively just use other blueprints as components. But child actors aren’t configurable inside the blueprint editor. You just set the class name of your blueprint and that’s it. You can’t edit the class defaults there. You would have to create variables and structs for each setting in the parent and then set everything manually from the construction script. The child blueprint would still not be shown in the viewport either.

Here you got UCLASS of UStaticMEshComponent and as you can see ClassGroup is not part of meta, might be reason why your component does not apper

UCLASS(ClassGroup=(Rendering, Common), hidecategories=(Object,Activation,"Components|Activation"), ShowCategories=(Mobility), editinlinenew, meta=(BlueprintSpawnableComponent))

Also making components is easy as actor, you just need to know that component code is also used by editor, do if you want to do any gameplay only code you need to if it with ()->HasBegunPlay() and outside of it remeber not to call any gameplay code