Just to add some context, the main issues with importing whole scenes or large chunks of scenes as a single mesh are:
- if any part of a mesh (determined by bounds) is visible, the entire mesh is rendered. You can’t occlusion cull a part of a mesh. So, if your whole scene is one mesh, it is always all being rendered. If you have large chunks imported as single meshes, they are much less likely to be culled based on visibility. Whereas, when you break things up, you can improve those chances immensely and improve rendering efficiency. I believe this is also a problem when building the scene in an external program and importing it as individual meshes without moving them to the origin as the pivot is considered when calculating bounds. Referencing would be a way to allow you to build the scene there and avoid this issue I would think, but then you would still have to import individually (from each referenced scene) and rebuild the scene in Unreal. So it’s not the most efficient workflow.
- using the same mesh multiple times has the same memory cost as using it once. So, if you build modular pieces and use those over and over to build your level, you can decrease memory usage dramatically. If you used the same geometry multiple times in your scene in Max or Maya but then import that as a single mesh, you are paying the memory cost for the whole thing and losing the benefits of instancing.