What is the best way to make assets that will work in a 3d game

If I want to make large structures should I make modular parts or should it be one piece

How far should I go in blender before exporting it into unreal,

What comes into my mind: draw calls vs. culling mechanisms

While large structures might save draw calls, they are less optimal for culling operations. It also depends on the number of materials you need. For a large asset in one piece with a huge number of materials, you will end up in a large number of draw calls in UE4 as well (each material slot is a draw call), while also not taking advantage of culling. So this might be a situation of splitting into smaller parts, maybe sorted by materials, depending on the nature of your meshes, to at least take advantage of culling algorithms.

Before joining the modular parts in Blender, you can test by using the import option Combine Meshes in UE4 while keeping parts modular in Blender itself.