Placing Landscape holes at runtime (or alternative?)

I’m looking into the ability for players to place mine entrances / quarry ‘plots’ on the landscape at any locations they choose. The idea here is different for each, but would probably use the same method (landscape holes) if possible.

Placing a structure which creates the quarry ‘plot’, I need to hide the landscape under this plot space and replace it with a blueprint which allows them to ‘eat away’ at the surface (thats the easy bit). In this situation, the landscape in that quarry plot would need to ignore collision and render invisible (or not at all).

The other situation would be selecting a min entrance (they will be limited to certain areas of the landscape which allow horizontal entrances based on landscape steepness). This would be a similar setup to the quarry, however they would be able to mine into the wall surface instead (I’m thinking a series of ‘stone cubes’ which they slowly ‘eat away’ at in a similar way to the quarry.

The actual mining process is something I have covered, but the question would be about making holes in the landscape (visual and collision) at runtime. I don’t mean deformation (craters, etc.), but physical holes.

Thanks in advance for any guidance! :slight_smile:

I’m looking into an alternative of location based masks on the landscape (the blueprint for the structure would be able to line trace to the landscape surface, record that location and fill a parameter collection for the terrain material. However I have a couple of issues here…

  1. At this time, it seems only sphere masks are available for use? Is there any way to recreate that effect with a unique shape (cube, cuboid, custom mesh?).

  2. I’d have to have a parameter collection and mask setup in the material for as many structures as they would be limited to place. This would get out of hand with even 5-10 location based masks in the same material. I suppose a material function could tidy the material up, but I’m still going to have a hard limit at some point. Is there any way around this?