Download

Is there a better solution of what Im trying to acheive? (loading and unloading portions of a level)

Hi friends,
I am building a sample project, where I have an apartment with 3 bedrooms, what I want is to have the flexibility to change these rooms in the game. with the press of a button a different room to replace the existing bedroom, the geometry of the room will stay the same only the objects inside it and textures will change, and i want to give this option to all bedrooms, i also want them to look good so i want to use static lighting / lightmass for all of these rooms.
So what I thought would be the best solution is to build all the individual rooms as a BP, then place all of those blueprints in the main level but away from the main apartment, and build the lighting and then press a button to set their location to move them in the right place in the apartment. of course i have to set these meshes inside the blueprint as movable and select “light as if static”. so far i have tested it in a rough draft and it seems to work. but is there a better solution? is it not possible to build these rooms in a separate level and then load these levels inside my main level of the apartment?

Level streaming might be the thing you are looking for.

Thanks for the tip Dark Energy, I created a room in a separate level and saved it for streaming level, then created an empty level and added this streaming level and used blueprint to load this room streaming level with the press of the key, it does load the level however it loses the lighting info, so does it mean i have to build all the rooms in the same level to keep the lighting info?

What you need to do is create a seperate streaming level for each of the bedrooms, make sure they have the same skylight and directional lights in the scene, and any other lights which might affect them. Also make sure any geometery which would affect the shadowing (I.e. building exterior) is in there. You then build lighting for your main level, then after that open each sublevel and build lighting in them (you can set the extra meshes for exterior to be invisibile in game.) If the lights you have in the sublevels are movable or statiory make sure you turn them off after building lighting. If you dont do this when you turn on the sublevel within the main level it will have 2 directional lights and 2 skylights etc. You should now be able to toggle each level in and out with correct lighting, but the engine will give you a message saying ‘Lighting is unbuilt for xxx objects’ however this isnt correct, lighting is actually built. You can hide this message with the console command ‘disableallscreenmessages’ which you can enter manually or put in your player controller or level blueprint or whereever you want really.

Sorry for terrible grammar if you dont understand i will try to tidy it up a bit :smiley:

You can see it in action here: https://youtu.be/Vu4MGapRZd0?t=65

Thanks Orkney for the help, so it looks like the lighting in all the levels and sublevels have to be the same otherwise the built lighting info from a sublevel will vanish. right?

Uhhh, no, not necessarily, you could light one of the sublevels as nighttime, but it would look weird. Id try to keep them the same. You just set up your lights how you want them in your main level, build the lighting. Then copy the lights, open your sublevel map and paste them into there and build lighting in the sublevel map.

Also be aware if you build lighting in the main level after doing all the sublevels, the lighting in the sublevels will be reset to unbuilt.

yes got it, i think i was making a mistake in my test. Thanks a lot for helping me out. cheers mate :D.
p.s. great work on that youtube video. is that yours?