Begin by adding your building to the DT_Buildings DataTable

Add a new socket to the CompatibleSocketNames array, here you determine what sockets that this building component can be placed on, in this example, Door is our compatible socket name, every building that has the socket “Door” we will be able to snap our new building to.

Inside /BuildingSystem/Meshes, open up any mesh that require a “Door” (can be anything), in this example, we’ll use “SM_Simple_Cottage

Once the Static Mesh Editor is open, in the lower right corner you’ll find the Sockets editor

Create a new socket and name it “Door

 

In the “Preview Static Mesh” selector, pick the “SM_Simple_Door” mesh as a preview mesh so that we can position it correctly

 

Use the preview window to move the door into the correct position

You can do this for anything you want to “snap” onto a building

Done!