Instead of making separated level files, I am placing all my small rooms in one level file and jump camera between rooms. Is there a reason each room should be a different level file?

The game I am working on is made of several small self-contained rooms.
It would be easier for me to share data between rooms if all of them are under the level blueprint and also jumping from one level to another seems faster than “loading” a new level every time.

Is there a reason that this is bad practice?
Is there a reason to make every level a separated level file?

Unreal “Content examples” have a different level for each feature, Niagara is one level, terrain sculpting is another. Is there a reason for this? Even if one room has heavy particles and another one water simulations, if the camera is not in that part of the level, culling does not render and therefore there is no loss of performance, right?

Thanks!

Memory limitations.
It depends on how big and what system you have to run things on.

I would also suggest for granularity.

Editing a sub-level vs the-whole-thing is better for distributed teams? Each person can work on their own little bits(!) concurrently.

1 Like

I would also suggest for granularity.
Editing a sub-level vs the-whole-thing is better for distributed teams? Each person can work on their own little bits(!) concurrently.

This makes a lot of sense. Version control.

Memory limitations.
It depends on how big and what system you have to run things on.

Interesting, memory limitations for running the editor or memory as a negative impact on in game performance? or both?

Both.
You can only have so many blueprints/textures etc before something has to be unloaded.

Obviously it depends on how things are designed, but you can run into hard limits quickly based on the system you target.
Both GFX and just Ram wise.

Just because your developer pc can handle the load of say 100 rooms, doesn’t necessarily mean something like a Switch can.

Focus on what lowest end system you want to target, and set a limit for yourself to which you attempt to remain under.

This way you don’t have to suddenly remove stuff or have extra development delays/issues from suddenly testing things out on the lowest end and discovering it won’t even load…

Both.
You can only have so many blueprints/textures etc before something has to be unloaded.

Obviously it depends on how things are designed, but you can run into hard limits quickly based on the system you target.
Both GFX and just Ram wise.

Just because your developer pc can handle the load of say 100 rooms, doesn’t necessarily mean something like a Switch can.

Focus on what lowest end system you want to target, and set a limit for yourself to which you attempt to remain under.

This way you don’t have to suddenly remove stuff or have extra development delays/issues from suddenly testing things out on the lowest end and discovering it won’t even load…

I understand, thanks!

Another option is to use BP to make each room. Then you can spawn / destroy rooms.

Interesting