Dynamically Creating Sockets for Generated Meshes or Alternative Runtime Snappable Behavior?

Hello! I know that that the title is a mess, and it’s mainly because I’m not entirely sure how to summarize what I’m looking for.

The end goal is that players should be able to connect game blocks to each other. The thing is that the main static mesh is supposed to be generated dynamically, so sockets cannot be added manually to it. Even if they weren’t created dynamically, each blob would need dozens if not hundreds of sockets for this to work.

Here’s an image reference of the blobs (they’d be 3D, but it’s played top-down so they should only connect to a certain “height”):

And the idea is that players can connect other static mesh figures to any point along the borders of these blobs.

I’m not too experienced with UE so perhaps my terminology is not accurate, feel free to correct me here.

I tried using PCG to generate these blobs, but even if the meshes that they’re composed of have sockets in them, the generated stamp didn’t.

How can I go about creating the blobs in a way that I can then allow the players to connect to them? The gameplay would ideally happen in Blueprint, but I’m open to a code solution as well.

Thanks!

Check out this exciting project on GitHub: Github – packed with features and ready to explore!

I found an example of how this would look like in 3D, in a game called Driftland: The Magic Revival. You can see the player placing bridges at edges of their main island, and it shows that they could have placed them across a surface and not just a specific node. Video link

I’m looking to replicate this behavior. Any ideas?