How To Optimize Your Levels In Unreal Engine 5 ( Level Streaming Tutorial )

Поделиться
HTML-код
  • Опубликовано: 25 дек 2024

Комментарии • 57

  • @aviel200
    @aviel200 Год назад +12

    i need this so much! thank you!
    please feel free to share more Optimize videos

  • @Fafhrd42
    @Fafhrd42 11 месяцев назад +11

    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.

    • @Magnos
      @Magnos 6 месяцев назад

      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?

    • @pitchdark2024
      @pitchdark2024 3 месяца назад

      I suppose blueprint could be useful if you wanted to code levels being streamed once the player or an object gets to a certain distance from or when a character is looking a certain way (first person) So everything behind you becomes un streamed and everything in front of you becomes streamed.. is this possible and viable?
      I kind of imagined classic silent hill using something like this.. Everything past the fog that you cant see is being loaded

  • @JamyzGenius
    @JamyzGenius Год назад +2

    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!

  • @BlueGooGames
    @BlueGooGames Год назад +3

    This is a great and easy way to handle it without scripting, thanks a lot! 😀

  • @roydash5657
    @roydash5657 Год назад +2

    My dear teacher I am wanted this tutorial! Thank you so much

  • @AICyberWavelab
    @AICyberWavelab 7 месяцев назад +1

    Bro you are a legend thank you so much.🎧🎧

  • @JustinJetZorbas
    @JustinJetZorbas 8 месяцев назад

    Thank you for this, very helpful! :)

  • @spunkin49
    @spunkin49 5 месяцев назад +1

    what im wondering is if this level streaming technique can be used for levels that were already created. unless im mistaken, in this video it seems like its somethings that is primarily used for brand new levels.

  • @unrealstudent2239
    @unrealstudent2239 9 месяцев назад

    thanks a lot! very good information!

  • @poly_base3d
    @poly_base3d Месяц назад

    hi, thanks for your great Tutorial
    is this possible to use world partition and level streaming at same time?

  • @DetectiveJones
    @DetectiveJones 2 месяца назад

    Odd question, but I assume "Persistent levels" Don't affect culling right? Like, say your 3 cubes are in the persistent level, but are behind a wall and out of view. Would they still get culled out the same as any other object, or would it remain rendered? It is 2 am when I write this, so I'm sure when I wake up the answer will seem more obvious. I have a large project that consists of many floors with a good transition piece between them, helping smooth out the loading of each level, but would like to ensure it's the best way before changing things to use streaming.

  • @krasnavin
    @krasnavin 8 месяцев назад

    Great tut! Good or bad to have Main Menu level persistent?

  • @pitchdark2024
    @pitchdark2024 3 месяца назад

    Thanks I haven't tried to physically do level streaming yet I wanted to research it first. Does this work for parts of landscape and dynamic lighting?

  • @JieDu-yj2vd
    @JieDu-yj2vd 11 месяцев назад

    How to get the project that contains particles with jumping and footsteps at the beginning of the video?

  • @screenapple1660
    @screenapple1660 11 месяцев назад

    how do you do fade in and fade out level stream appoarching closer or far away?

    • @UnrealUniversity
      @UnrealUniversity  11 месяцев назад

      You could you use the second method in this video

  • @BigbearDev
    @BigbearDev 9 месяцев назад

    Thank you!
    can we replicate it so it will work separately for each player?

  • @saeedserwan
    @saeedserwan Год назад

    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.

  • @raphaelmillies-lacroix570
    @raphaelmillies-lacroix570 Год назад

    Hi, thanks for your content !
    What's the benefit compare to world partition ?
    Should they be mixed for some usecase ?
    Thanks !

    • @UnrealUniversity
      @UnrealUniversity  Год назад

      I have not really explored world partition yet, although world partition is more for open world maps

    • @OverJumpRally
      @OverJumpRally 10 месяцев назад

      Use World Partition, don't use Level, they are discontinued for a reason.

    • @OverJumpRally
      @OverJumpRally 10 месяцев назад

      @@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.

    • @UnrealUniversity
      @UnrealUniversity  10 месяцев назад

      will check it out although I have only seen it be used on large open world maps thats why@@OverJumpRally

  • @aviel200
    @aviel200 Год назад

    hey :) is this work with multiplayer game too? or need to set some code to make it replicated?

    • @UnrealUniversity
      @UnrealUniversity  Год назад +1

      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

  • @zeroto1erance351
    @zeroto1erance351 Год назад

    but what if there are a lot of objects, will this lead to freezing or long loading when entering this trigger zone?

    • @starscream2092
      @starscream2092 Год назад +2

      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.

    • @UnrealUniversity
      @UnrealUniversity  Год назад +1

      Yes , although you could add a loading screen using the second method and wait for the level to be loaded and then show it

  • @AfterHoursDevchannel
    @AfterHoursDevchannel 4 месяца назад

    OFC it works fine but I'm little confused now ;/
    How does it relate to UE5 WorldPartition system and Data Layers? Doesn't they serve the same purpose- you can enable/disable datalayers?
    I (probably wrongly?) thought LevelStreaming is more connected with idea of Sublevels and therefore old UE4 World Composition system, now replaced by World Partition?
    Other matter I thought OcclusionCulling also works here= these blocks in second room are rendered only from the moment you began to see its first slightest element,first pixel of rendered object image?So I thought they aren't there anyway till moment I began to be able to see them.
    EDIT: But now I think I see the difference- Occlusion and rendering happens and relates more to CPU/GPU operations and streaming level you have shown here is more about count of actors in the scene(level)= more MEMORY issue?
    But then still I thought now WorldPartition and DataLayers deals with that?withn occlusions at back seat;)
    Sorry for chaotic questionS= simple manifestation of "performance ideas" chaos I have in my mind now ;)

  • @madpuppet666
    @madpuppet666 Год назад

    how would you stream from one hub level to another hub level?

    • @UnrealUniversity
      @UnrealUniversity  Год назад +1

      You only have one main hub level, then you stream in and out the other levels

    • @madpuppet666
      @madpuppet666 Год назад

      @@UnrealUniversity you can't seam to stream in a level with World Partitioning in it.

    • @UnrealUniversity
      @UnrealUniversity  Год назад

      oh in that case I guess have to open that level to get to it, I have not used world paritioning but I heard for like open world maps

    • @madpuppet666
      @madpuppet666 Год назад

      @@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.

  • @agentshadow6618
    @agentshadow6618 Год назад

    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

  • @qeveritas9319
    @qeveritas9319 5 месяцев назад

    but how does it work i n addition to WorldPartition systems? deosnt worldpartition system do the same, loading /unloading (kind of distance culling) parts of the map. Yes I understand WPartition is about unloading/loading parts (regions) of 1, megalevel and here we have many levels. Not sure if these 2 techniques are mutually exclusive?
    Isn't this method you showing here from OLD , UE4 WorldComposition mindset, way of dealing with big maps (btw isn't it said to be deprecated?)

  • @masterdum..
    @masterdum.. Год назад +2

    I’m to broke to afford ur courses

    • @UnrealUniversity
      @UnrealUniversity  Год назад +2

      sorry bro, but don't worry this black friday one of my courses will only be $1

    • @masterdum..
      @masterdum.. Год назад

      @@UnrealUniversity dawm ok

    • @masterdum..
      @masterdum.. Год назад +1

      @@UnrealUniversity I gotta save up cuz I don’t even have $1 I’m so broke

    • @UnrealUniversity
      @UnrealUniversity  Год назад +2

      @@masterdum.. bruh, thats tough

    • @masterdum..
      @masterdum.. Год назад +1

      @@UnrealUniversity I am a kid tho that just happens to love unreal

  • @PatrickVitelaYourAverageGamer
    @PatrickVitelaYourAverageGamer 2 месяца назад

    lost me at 4:30 smh

  • @OverJumpRally
    @OverJumpRally 10 месяцев назад +5

    Why are you still using Levels when World Partition is a thing? This makes zero sense, especially if you work on a project with multiple people.

    • @Ngornix
      @Ngornix 10 месяцев назад +13

      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.

    • @MaxCE
      @MaxCE 3 месяца назад +1

      maybe not everyone wants to make an open world game, world partitions aren't good for linear maps like an office building for example

    • @DKJens44
      @DKJens44 19 дней назад

      @@Ngornix You can use World Partition with Data Layers

  • @UZPvNUCaaQdF
    @UZPvNUCaaQdF 9 месяцев назад

    "Hello. In this video, we're going to go over how you can optimize your Unreal Engine game products..."