One BP with each instance holding a variable amount of components

Is it possible to have one blueprint with each instance holding a variable amount of collision components?

So instead of creating a new blueprint for each unique shape you needed, you could just use the one blueprint, but adjust that instance to carry only the amount of shapes required.

Note: I’ll be experimenting a bit and will report back if I figure anything out.
It’s probably not possible through the editor alone so I’ll post it in the C++ section.

Not solved really, just went with the simpler but not ideal solution.
Created a couple of blueprints with different complexities, all deriving from the same parent.

I didn’t go at it for too long, but the way I tried solving it was by creating a new component class.
Assigning it a UPROPERTY of TArray>.
Then dynamically adding and removing components on PostEditChangeChainProperty.

Was too much of a hassle and didn’t really know if it’d work in the end anyway.
If anyone’s got something similar working I’d love to hear about it.