Level Streaming to break up big Archviz scene


I have a Residential Complex I’m working on for a client with 3 floors and 60 apartments. In order to optimize the end product I was going to use Level streaming between Floors and maybe rooms so I it will run smoothly, is this the best option, to set boundaries with Level streaming, break up chunks of the project to conserve memory and I can build very large scenes while conserving Memory ect. Is this the best workflow?

That would probably work well to split it between floors, you might not be able to build the lighting otherwise since it would use a lot of memory.

You may also run into issues with packaging the project if a single map gets too large, so definitely worthwhile

Great, thanks for the feedback.

Each streaming level (and persistence too) going to be smaller than 2GB, in other case you would not build project. Use same props as instances to save memory.

Thanks, I’ve just tried to put the first floor together in 3ds max, 22 Million Polygons later…, so think I will have to build in sections. Does anyone know what I can do in Ue4?

My workflow will consist of bringing in sections of each floor, building separate maps for different sections and use Level Streaming. The problem is we also need to go outside and look at the building as a whole from the walkways and gardens that surround the complex. Will I need to just model the shell of the building (Walls and roof) and make one map of that, to give the illusion of the whole building ( 3 floors) from outside without any interior added. And if someone is outside and they look into the First floor Apartment window and don’t see any furniture etc? Any suggestions?

Also, the client wants to be able to view out each window to get the view of the surrounding area which we are adding via Drone footage taken form the actual site, to give a realistic sense of the place. How do I accomplish that, get a different view out each window if I;m loading each room with Level streaming? Any Suggestions?

By default UE4 has some visibility culling so that it won’t render things that aren’t visible, but you’ll want to make sure that for things like props you’ll want to instance them to save memory. You can arrange your level in 3ds Max and set up your instances there and use the FBX Scene Import option to export it all to UE4 which will maintain instancing and your object positions:
There’s also a new tool that Epic is developing that currently supports 3ds Max that does a very easy one-click export to UE4 that converts most materials (including Vray materials) and many other options–you can sign up for the beta of the plugin here:

For the exterior I would try and see if you can manage the level streaming more specifically so that maybe if you’re looking into a window then you can see inside, it depends on if the performance works OK. Otherwise, you could hide the interior by making the windows 100% reflective, or if it’s necessary to see the interior and you can’t get good enough performance with it as-is then you’d need to make a lower detail version of it.

For the view outside the window usually you’d do a 360-degree panorama that’s mapped on a sphere. If you need the view outside each window to be more accurate then you could make a unique backdrop for each room that you’d map onto a curved mesh, but you’d also have to have it change the backdrop depending on which room you’re in.

Thanks so much for the feedback. I’m already using Datasmith, its an amazing tool.

My thought process is this.

I am finished modeling the interior of the apartments ( There are only 2 styles of apartments, the rest are mirrors or copies of the same style). I only use 2 Apartments for the entire 60 Apartments, but mirrored or positioned differently.

I was think of modeling the corridor which connects all the apartments. That will be one map so the user can look up and down the corridor. When the user opens any Apartment door in the corridor, a new map opens for that apartment. so only the corridor and one Apartment will be open at the same time, so the user can walk into the Apartment, look back out at the corridor. Then when they climb the stairs or take the elevator to 2nd or 3rd floor, a new map opens for that corridor, etc. Therefore I only need a few maps for the entire building, as floor 2 and 3 are copies of First floor. Everything is basically a repeat.

The outside complex, I will have to model the entire shell of the building with no interiors and make the windows 100 reflective.

Can anyone perhaps help , I really stuck here. I would like to connect two different maps using Level Streaming, is that possible? Ie, I walk down corridor (One map), I open door in corridor to room (Another Map). I walk into room. I don’t want to load between corridor and room, I want it to be a seamless transition where we can see both room and corridor at same time. I can’t build in same map as there are 60 rooms, so I need rooms and corridor to be in different maps. Any help would be great.

Well this is level streaming that you want. Just you need to use some blueprints for this. The logic should be like this:

  • When in corridor (Streaming level name = Corridor) and when you click on door to an apartment > open door > load + make visible the apartment that is in its own level (streaming level).
  • When inside the apartment > close door + unload/make invisible Corridor level stream.

So like this could work if you have the doors closed, meaning that the client is not seeing the apartments from the corridor. Also keep in mind that there will be some kind of delay between loading/unloading stream levels, so you gotta use some open/close animation or some “loading percentage” on the door (something like text with percentage) on the doors to compensate visually the loading time.

Thanks for the help