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?
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.
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…