Best practices for creating large busy indoor environments?

(Not sure if I’m on the right category)

In my case, it’s a 3-storey building (let’s call it the lobby) + elevators that leads to other locations. I know that it’s a classic technique to ‘hide’ the other levels using the elevators, but it’s the lobby that I’m concerned about.

I have the floor plan, there’s about 10+ different rooms for the entire lobby + and each room will have ~50-100 static meshes each for the decorations and such + an open indoor area, also with 100+ items in there. The rooms have doors, but they also have glass windows and I want to see out the window. My guesstimate is that each floor is about 1500 sqm.

My question is: should I keep the entire lobby in one level on its own? If I shouldn’t, how should I transition from one level to another?

Also: One of the floors of the lobby leads out to an open outdoor area - not too big, it’s fenced out, but there’s large items in the background, such as the building itself + other large buildings in the neighborhood. Should all that be in the same level as well?

(It’s more of an archviz project at this point, not intended to be playable, but I would like to have that option eventually, so there will be collision and physics for each item. If it’s relevant, I’m building all the meshes in Blender)

Hey @vardonir! Welcome to the Forums!

Smoke and mirrors are your friends!

I assume you are moving from room to room via hallways and doors, and they all can not be immediately see. In that case, Culling Distance is your friend.

Are your assets in rooms too far away to be seen? No problem. I would make sure your large set pieces that can be seen outside of windows or are too far away for the culling distance to make them viable are excluded and always seen, but other than that it should reduce your level’s workload.

You can find more information here:

I hope the above suggestion points you in the direction you were looking for!

1 Like

Neat, didn’t know about cull distance volumes, that solves the issue with the smaller assets + the large set pieces in outside (since you can only see it if you go outside).

But main lobby indoor area isn’t exactly a hallway - it’s a large atrium, very similar to this. So you can go near the railing and see the whole area from above.

Should I build/import the entire structure of the lobby (i.e., the floor, the walls, the ceilings, the railings) as one big block and stick that as one giant mesh? Or would it be better to split it up? Say: a mesh for the first floor, and then another mesh for the rooms in the first floor, then the second floor, etc.

Hey @vardonir,

Since you’re looking at an atrium, it may be better to use several meshes for your structure and only spawn in what you need. You only really need what is visible from the balcony of each floor for each level.

Just remember to take advantage of the fact that you can cull by both size and distance, which means you can make sure your main lobby structure is always active or disappears. Here is a bit more helpful info from a non Epic third party video:

WTF Is? Volume - Cull Distance in Unreal Engine 4

I hope the solution above helps solve your problem!

1 Like

What problem are you trying to solve?
If you compare to the Matrix city project, are your few rooms with a few static meshes really complex enough to worry about?
From what you describe, I wouldn’t be surprised if you could just build it, and it would Just Work well enough on modern hardware.
Of course, the specifics of the target matter – Intel Built In Graphics is very different from an NVIDIA RTX 3090, and shader complexity, overdraw, and reflection approaches do matter.

1 Like

That’s the thing, tho. I can’t even open the Matrix project. I’m still mostly new at this, I have a 7-year old “good enough but kinda old” dev machine (6600k + GTX 1070 + 32GB RAM).

It’ll just be a cinematic rendering, nothing playable yet, but I would like to know how to properly do things before I end up making the UE version of spaghetti code.

But if stuffing everything in the same place is the way it’s done, then okay, that’s how I’ll do it.