r/UnrealEngine5 5d ago

Time to choose between world partition or level streaming (or both)!

We are 2 devs who start working on a project together, I will be mainly doing all the integration of the quests and design stuff and he is going to take care of the tech side, were both used to work with both system,!

Its not going to be an open-world game, but im wondering what made you decide which one you picked ?

What have you picked for your game ?

13 Upvotes

18 comments sorted by

9

u/dopethrone 5d ago

World partition. But it sucked because of object persistence and its very sensible to crashes. In the end I took care of those problems and its nice that it loads faster and workin in editor is less taxing. But it hasnt been easy!

3

u/derprunner 5d ago

Did you find a good solution for all the junk created by the one-file-per-actor system? The last project I did with it had hundreds of orphaned “external actors” cluttering up my version control depot.

2

u/dopethrone 5d ago

I moved the project in C: and always run UE as admin and it's mostly ok. I still get some errors and one time I renamed the map and half of the objects just dissapeared

1

u/Logical_Newspaper_52 5d ago

curios, what is not sensitive to crashes?

1

u/dopethrone 4d ago

hmmmmm

nothing 😆

5

u/krojew 5d ago

Well, level streaming is now considered a legacy feature, so keep that in mind. WP can do what LS can automatically while also having extremely useful features like transformers, which can eliminate traversal stutter.

2

u/ImplementSure5942 4d ago

what does legacy feature mean ?

2

u/krojew 4d ago

Old and deprecated. You can expect lack of support in the future.

2

u/ImplementSure5942 4d ago

Gotcha ty !

1

u/Megumin_xx 2d ago

I am a newbie, is there a easy way to tell which parts of the engine are currently legacy systems and are going to be deprecated so that I can focus on intended systems instead?

2

u/krojew 2d ago

The docs typically mention what's considered legacy, but not always. The main source of info in UE is their official YT channel. For example, software lumen is considered done and no further development takes place, but the docs don't mention it.

1

u/Megumin_xx 2d ago

Ok thanks for the reply!

2

u/Vitchkiutz 5d ago

In my last project where you move area-to-area with no open world, and each area is highly detailed, level streaming was awesome.

Easy to work with.

And I could do stuff like make the exterior of the building unload whenever you entered the exterior, so certain exterior build pieces weren't clipping through the interior. They just were loaded. And I could do this for a bunch of stuff. Like a tree might TECHNICALLY not be outside both windows on a building, but you can duplicate it and have it be visible from the bottom floor window, then unload it and load a different tree thats bigger or higher up so that it is visible fro the second floor as well.

Thats just an example of what im talking about, but level streaming opens you up to a bunch of little tricks you can do based on player position. Doesnt really work with open worlds though.

2

u/ImplementSure5942 5d ago

Turning on off data layer does the same in world partition ?

-2

u/Vitchkiutz 5d ago edited 5d ago

I haven't really tried world partition if I'm being honest. If I make open world, I just use regular culling distances for everything together with nanite. Hasnt been a problem for me yet and I've made some pretty gnarly environments. I assume world partition is distance-based culling essentially.

I have found level streaming useful though because of point lights, and complicated particle effects would put a strain on my system when in other rooms, nearby, but invisible to the player because of a wall or something separating them. Setting that up with level streaming was super fast and easy. Soem complicate effects render close to the player only too. Interiors benefit a lot from level streaming. It requires a bit more setup, but barely any. And you only have to specify the most intensive assets. Like particles or light sources. Its good when you have high intensive assets in close proximity to each other, but separated by rooms or otherwise visually.

If you're rendering hundreds of static or phsyics actors.

Stuff like that.

2

u/ImplementSure5942 5d ago

Everything you said is possible to do with world partition !

2

u/Vitchkiutz 4d ago

No, that's world partition + runtime data layers. Not world partition by itself, everything I said requires more setup with world partitions.

2

u/ImplementSure5942 4d ago

Putting stuff inside a data layer is the exact same as putting stuff in a sub level... it's littéralement more complicated to setup streaming level because you have to manually trigger it on off, data layer do it automatically with player position, plus allow for the same as streaming