One way you could try to do this would be to create two different blueprint arrays, one for the house and one for the roof (or you could technically do them in the same blueprint but that may be more difficult). Call both of these in a third blueprint that randomly selects from each array and places them together on a spline component. You can add a function to allow you to tab between different roofs/houses by switching the number in the respective array in the details pane.