World Partition And Data Layers - Unreal Engine 5 Tutorial

Поделиться
HTML-код
  • Опубликовано: 4 мар 2024
  • In this tutorial I'll show you how to convert a level to World Partition, how to create and modify new Data Layers, and how to stream data layers in and out at runtime in order to optimize your game.
    Patreon: / mizzofrizzo
    Subreddit: / mizzofrizzo_tutorials
    Facebook: / 884349679908510
  • ИгрыИгры

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

  • @bdazzler123
    @bdazzler123 2 месяца назад +5

    At last, someone explaining subtle change with data layers when progressing to ue5.2/5.3. Brilliant demo. If u missed it, ue5.2/3 need data layer asset creating first.

  • @awkwardchipmunk
    @awkwardchipmunk 3 месяца назад +2

    I have never been so early to a MizzoFrizzo video, keep up the great work!

  • @samuelyang5978
    @samuelyang5978 2 месяца назад +1

    Thanks for the tutorial! Learnt a lot about data layers!

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

    Very well explained @MizzoFrizzo - appreciated it. I'm somewhat new to UE and working with a very large level for cinematic flight animation. Was running into resource issues so exploring world partition as a solution and it brought me here. Forgive the newb question but can I apply the beginning portion of your tutorial to a cinematic animation? I don't need the game-based level loading with collision boxes - just to load the portion of my level that will be seen by camera, and not the entire (huge) landscape. Thanks!

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

      Make ur landscape nanite and it won't matter it will auto cull it. And unreal stops rendering anything not being displayed in the viewport , u can override isrenderd to hook it

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

    great tutorial, thanks. Iv'e been trying to learn this. Now how about data tables.. 😂

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

      I'll look into it. 🙂

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

      @@MizzoFrizzo I'm always watching your stuff. Thx man

  • @ivanpetrov248
    @ivanpetrov248 7 дней назад

    @MizzoFrizzo
    Hi sir, I was searching for increasing performance in my project. I was wondering if, when I create a data layers levels for example entering in city, making the collision box to activate and disactivate the level, the rest of the landscape can be still seen in the distance trough the gate of the city with HLOD’S created in wp? At least that what is in the viewport 🤣 sorry maybe not so specific question but new on everything so trying to learn 😊 thank you

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

    My apologies, king, I'm late to your latest banger video 🙏

  • @Jesters-Jinx
    @Jesters-Jinx 3 месяца назад

    Yes! I have been trying to learn how to do this! Should this be done at start of creating a world? Or can it be done after I have already created one?

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

      You should do it as you go, but probably only use world partition if it's a big open world, otherwise use level instances and sublevels:
      ruclips.net/video/nKGF34Z5QTA/видео.htmlfeature=shared

    • @ethanwasme4307
      @ethanwasme4307 Месяц назад +1

      I've just converted an open world project to world partition, it went smoothly... water bodies, volumetrics, splines, procedural foliage... didn't have any PCG in my level so can't comment on that part

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

    What is a good solution to not have a huge FPS drop when loading new data layer? It is quite bad when you have 120 fps and when you are loading in data it drops to 70 for a second or two. I played Aliens fireteam elite and it has terrible stutter when going between loading doors. Or even Dead space remake has the same problem. Is the only solution to make smaller loading chunks and load them with a delay? Because imagine a new playable area a hall and before entering the game tries to load the whole data layer full of high quality assets and it stutters.

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

      Slow the player down by locking them in an animation, load sections in in chunks, do the loading while the player is paused momentarily in the animation. Very common solution.

    • @fearfx2562
      @fearfx2562 17 дней назад

      It shouldn’t get drops in built project all hard loading will be done at the load of the game and after that it plays with smooth transitions at least that’s how it was with traditional level streaming. Anyway honestly don’t see the net positive using this just yet other than some additional functionality, but don’t think it’s needed unless your doing some really aggressively unperformant game.

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

    Please, make video about Lobby and Menu with customize

  • @timmxwareforfait115
    @timmxwareforfait115 18 дней назад

    Is there a way to show different data layers for different clients ?

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

    Okay nice! Have you looked into world partition for landscape? And HLOD? Seems like it's broken in 5.3.1

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

      No I haven't. I wish they'd focus on fixing things rather than constantly adding new features! 😔

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

      @@MizzoFrizzo HLOD and WP for landscape have been among us since the start of UE5 , and yeah, I wish they would've fixed it and not add alot of stuff. But I hope everything gets fixed in 5.4 , Im about to test it out next week and see if it's working.. I also realized that I dont know in what use case I would use data layers in an open world. It's quite hard to use boxes anywhere to load stuff there since there so much different paths you could choose 🤔 Ideas?

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

      @astralstormgamestudios1259 Wherever you want to load something you'd need to funnel the player into that area. One example is if you wanted to have a vast interior environment such as a cave or a city, you wouldn't want the entire interior loaded if your player might just walk by without going inside.

    • @astralstormgamestudios1259
      @astralstormgamestudios1259 2 месяца назад +1

      @@MizzoFrizzo okay for sure. I have an idea, I could make a spehere around the outer sides of the city that load the city if player walks there. Thats like the only way. Since my landscape is quite open and you can walk from every side in. Also I should use occlusion.

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

      @@MizzoFrizzo bloat engine 5 LOL wish they kept unreal studio

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

    How would I go about making an open world game in a city? I know this video covers most of the optimizations for stuff like that but what about like for example in Spider-Man when you climb up to the top of the tallest building you can see the entire city from up there. How does the games performance not tank when it has the entire city loaded up at once? Im sure they probably dont load certain props like cars or street lights etc but you still see the entire city and that must still be a lot. How is this done?

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

      Optimisation is a big task with many facets. Making these videos is pretty much all I have time for on top of my other 4 jobs. 🫶

    • @astralstormgamestudios1259
      @astralstormgamestudios1259 2 месяца назад +1

      They probably use HLOD, but that seems to be broken in 5.3 .

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

      Yeah this is HLOD. I'm surprised that isn't mentioned, as the HLODs are what will allow you to see the whole world. Albeit at a slightly lesser quality

    • @astralstormgamestudios1259
      @astralstormgamestudios1259 Месяц назад +1

      @@tinyblue42 there's merged , and simplify HLOD layers.. But it doesn't seem to be working in 5.4 either, I don't get it . Someone should really like to look into that because without HLOD you can't have that huuuge world that epic talks about.. I mean I have 8x8km and use world partition but still I would like to lower my loading distance since my grid is so large, so only 1 tile at the moment and rest is HLOD . That's my dream

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

      @astralstormgamestudios1259 I'd love to use it for my project. I'm just going to keep trucking along and hope it gets fixed eventually, or at least find a pull request that fixes it and I'll just compile the source with the fix lol. I'm sure someone with the necessary skills will step up. It's a major feature. My c++ knowledge is limited to gameplay logic like you would do in blueprint. I'm self taught, and I have no clue how the hlod and world partition system work together under the hood in order to fix it myself.

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

    Hello blogger, I'd like to ask why is it necessary to "re-save all content" before converting world partitions?

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

      To avoid errors.

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

      @@MizzoFrizzo thank you answer ,but you know,recently UE5.4 released,the world partition aleady Significant changes have occurred

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

      @@yujack5910 If you say so haha

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

    I can't understand how Unreal has made data layers only for single player games. I'm going crazy to make a multiplayer game with World Partition, it's impossible nowadays because the data layers work directly with the server, and if a client loads a layer all the clients load it too. aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.
    Nice tutorial anyway, ma friend.

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

      Have you tried levels/sublevels???

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

      @@MizzoFrizzo In the end I had to resort to the old World Composition system and use Streaming levels, it's a pity but it's still effective!

    • @MizzoFrizzo
      @MizzoFrizzo  Месяц назад +1

      @@milanchu98 Nothing wrong with that!

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

    how it is gonna work in multiplayer?

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

      Your guess is as good as mine. 🙂

  • @abiz
    @abiz 8 дней назад

    take a shot everytime he says Data Layer

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

    Why is your framerate dropping from 140 to 120 when a data layer is loaded?
    When you can't see the meshes, they shouldn't cost any performance...

    • @MizzoFrizzo
      @MizzoFrizzo  29 дней назад

      Why stream the level at all if that were the case?

    • @butter_fly_games
      @butter_fly_games 29 дней назад

      ​@@MizzoFrizzo I have no idea what you mean with this text...
      I thought you are using world partition and not world composition ^^

    • @MizzoFrizzo
      @MizzoFrizzo  29 дней назад

      @butter_fly_games To answer your original question, of course loading assets and storing them in memory is going to cost performance.

    • @butter_fly_games
      @butter_fly_games 29 дней назад

      @@MizzoFrizzo Yes, but no 15% of performance...
      I would really like to know why this happens to you.
      How full is your systems memory when they are loaded in?
      Has it the same performance impact in a packaged project?
      Do you use nanite?

    • @MizzoFrizzo
      @MizzoFrizzo  29 дней назад

      @@butter_fly_games I made a 2nd copy of the entire level. It's a lot to have loaded in... 😅