Thank you so much! When UE5 came out I did not understood this concept that well but your video made me understand it and also helped me to apply it. Especially if using Lumen and VSM Beta. I remember reaching a point where I broke the shadows of my levels due to using many small dynamic lights. I was quite frustrated back then with that issue. I made a quick test in one of my levels with this method and it works like charm! I just need to think different design-wise now. Either way, this method opened my mind to so many new possibilities! This will help both my Unreal Engine and Roblox work. Thank you deeply! What you explained here is gold to me!
It's usually a better idea when using scripted level streaming to use the Get Streaming Level node and call Set Should Be Loaded and Set Should Be Visible instead of the Load and Unload Stream Level nodes. The Should Be Loaded and Should Be Visible functions essentially add the sub-level to a queue to be loaded and made visible according to their priority, while the Load and Unload nodes try to load the level immediately. Also, since they're Load and Unload are latent action nodes, if you have a list of levels you want to load or unload you can't use them in a loop, as until the loading or unloading process for the first level in the list finishes all subsequent calls to that node will be ignored. But really, you shouldn't ever be using blueprint for level streaming. Level streaming volumes are way better, and if you want more granular scripted control just call Set Disabled on the streaming volumes in blueprint instead.
I'm kinda new to unreal, thank you for this advice! Currently i'm working on a game for Uni where i sometimes wanna make the level change when the player turns around (kind of like in Antichamber). For this i would obviously need to do this in blueprints to run the check for the player rotation, right?
Thank you for the video always womdered how it worked, but i thought unreal can help with lowering LOD enough so that loading screens wouldnt be neccessary anymore. Maybe im missing something. Thanks for the upload.
@@UnrealUniversity No, it's not. You should use World Partition as it makes your level easier to deal with and it doesn't create a huge file that could also risk to be corrupted.
Yes, although when any player steps into a level streaming volume, the connected level will load for every player, even if players are not inside that volume
yes, Aliens fireteam elite has this problem, even on SSD it drops frames to 0 to load everything at once. I would advise, if you have this problem and only if you have this problem create more levels and load them 2-3 seconds from each other.
Thank you, could you please make third person toturiol with all details like 8 directional movment and ik system, and animations crouch and equip and unequip pistol and guns with physics properties
@@UnrealUniversityspent a day googling. The only thing I've found is that people are using the MoviePlayer to show an async widget up while the OpenLevel is running synchronously. afaik you can't do any nice transitions or even just fade in/fade out that way, but at least you get an animated throbber. Hopefully this is something epic will address in future engine updates. Our game needs multiple levels where each one is its own world partitioned terrain.
Well i guess with level streaming, you can load and unload in all 3 dimensions. World partition only has a 2d grid and not a 3d grid. So although world partition is easier to set up, level streaming gives you more flexibility. Lets say you have 5 buildings. So with world partition you can load only the building you are in. But with level streaming, you can load only the floor you are on. It doesnt make sense to load the 10th floor when you are on ground in world partition. For example if you have played subnautica, with world partition safe shallows and lost river both will be loaded whereas with level streaming only the safe shallows will be loaded. Subnautica is coded in unity and uses almost level streaming type system also although they used octree implementation iirc.