It’s worth remembering that Data Layers ONLY work if you’re using World Partition. World Partition is on by default for a lot of templates, but if you happen to be using traditional streaming levels you can’t use Data Layers, and will be able to using traditional “streaming levels” to separate things in such a manner, and standard “layers” within those streaming levels to get more control of separation.
If World Partition is not important, which one is preferable?
Місяць тому
@@zidanex123 World Partition is designed for large open worlds, to make management easier in that context, so instead of you manually streaming levels in and out the engine will load sections based on the player location automatically. If you're making a smaller scene, or all indoors for example, it's arguable that you're better off manually controlling streaming levels and layers and not using World Partition. That said you can still opt to use World Partition, but it's arguable that there's little point since that's not what it's designed for. It should be absolutely fine though, as you can use data layers to manually load things in and out in the manner shown here. Unreal presents you with a lot of options so it can be overwhelming, and which is the ABSOLUTE best thing to do is so specifically dependent on the individual project that it can be very hard to know without all the specifics.
@@zidanex123 as I understand, but I could be wrong - data layers are for open world maps using world partitioning (for example, loading interiors when close to a building). while it's possible to make open-world maps with streaming levels (sub-levels), it isn't ideal because you would have to load in the map parts manually, so that's the old method for more linear maps.
These bite size tutorials are very helpful, audio or otherwise. Hope you continue these and organize in a way to quick reference these instructions. +1 subscribed.
Great video! It's been a while since I last worked with data layers, but it's always exciting to dive into topics outside the realm of audio. Gaining a solid overview of these tools is incredibly valuable, not just for broadening our perspective but also for thinking more creatively about audio. Good Work!
this is actually sick, i used unreal for quite a while and i never notice it especially the Unloaded state for optimisation is pretty good Thx you bro!
Awesome, thanks. I wanted to make something like base upgrades, which could for example spawn entire building with NPC like some trader or gunsmith inside and such. It might be a nice way of doing it.
Oooh thats fascinating. Ive been looking into level streaming lately and this seems similar but like it would have more fine tuned controls... definitely diving into that soon. Thanks for the video!
used to make this with nodes in armory and upbge game engines for blender, . worked for entering buildings with interiors. trigger and spawn objects, or make them visible with colisions. problem was that if the layer had lots of ojects in the a room for example, fps drops depending how many data it has to load into the scene, kind of a small loading lag, so i had to make some kind of loading screen sometimes. Also worked with lights, and sceens, or spawning charaters. Ligthing laps and stuff are another resource consuming objects so is good to know that we can hide/unhide them inside data layers now. good to know that we can have data inside layers now in unreal, cause i have to build my whole city to play my gta with interios :).
This is a good way to keep things organized within a level. I used to use Level Stream all the time. I wonder which one is cheaper to use. But I gotta admit that DataLayer has an advantage for having options like Loaded, Unloaded, and Activated unlike Level Streaming - it loads each time when you stream it.
i think it depends on the Game Level Streaming is good for a Ghost Hunting Game but for a Exit 8 Type Game Data Layers would be useful since you can make a bunch of them being Anomalies and then when you click the Elevator Button even though you are on the same floor but you can have one do none to whichever one you want to do
They can definitely get confusing. The number of times I had to stop and realign myself just building the tutorial is more times than I care to admit lol.
It is important to stress that if a data layer is activated, it stays loaded in memory no matter how faraway you are, even if it is outside the loaded world partitions. So, yes, used wisely it can save memory and improve performance, but you have to be cautious, because is also very easy to forget something loaded and waste memory space.
This was a great tutorial. I definitely need more videos like this from you. I'm at the beginning throws of learning unreal engine, and I've been having a failure to launch. Mostly just finding it hard to focus, and feeling overwhelmed by the learning curve lol
It can definitely be overwhelming at times but just keep at it. When I first started learning Unreal, I would just tinker with small things or try to recreate simple things that I saw in other games and then build on it. As a basic example, learn how to place a door into your level, then learn how to make a box trigger, then learn how to use a box trigger that opens your door, then how to add a door open/close sound. It may seem rudimentary but it really helps. It's also important to not only learn how to do something but WHY it works the way it does. This will help when it comes to improvising or working with a project team who might have different workflows.
@TheSoundFXGuy ive followed some of the official unreal learning path, and i understand a lot of the things conceptually. A big issue i have is not knowing which blueprint nodes I need and which pins to use. It doesn't feel as intuitive as I wish it did. I'm sure it's 100% user error lol! I've been trying to dedicate my time fleshing out my game design document so I can get everything out of my head and "on paper". I'm hoping that will let me focus in on what needs done, instead of just feeling like the huge undertaking is just a pipe dream. It's hard being a one man army, but even harder when you're a novice to the umpteenth degree haha
of Course thought with a Ghost Hunting Game you would want to use Level which you right click in the Content Drawer and then make one for each map so you dont have a Bug with Data Layer before you can use that in Conjunction with Streaming the stuff farther away wont be loaded in but when you get Closer they will unless Level Streaming means something different
I want to use data layers for a few things. 1) alongside loading screens so players can retain player control and "play" in an empty space (like assassin's creed). 2) to alter game states like a town's construction or destruction during a quest. 3) to allow players to choose a location for their base, for when "that perfect spot" is already taken by another player. And 4) reserving a space in my map for an "empty" area that uses data layers to cycle through custom or procedural dungeons to save space in the map.
You can create a new data layer and then use the outliner window to select all of the assets you want to move. Right click on that data layer and use the option "Add selected actor(s) to Selected Data Layer(s)". And if you accidentally put them in the wrong layer, you can use the remove option (this will put them back in the persistent layer) and then you can add them to the correct one.
youtube recomendation brought me here and I'm impressed by content's quality. If I understood correctly, all objects will remain in memory as long as the level is loaded. does it means it's not ideal for dense levels if I want to keep ram usage low?
If the layer is loaded or active then all assets in those layers will be in memory. This is actually perfect for dense games though. You'll just need to make sure you're completely unloading layers that may not be used for a while or ever again and pick the best time to re-load layers your about to call. A lot of games will do this during cutscenes or while in a less-dense area.
i know this was just to show us how to do it but i would have made that the Dinning Room and the Attic as a Bedroom since the Layout is great for that but Thank you for Video
Good stuff. Do you have a tutorial on setting up a full audio mixing setup for a game project as you would in a DAW? Stems, busses, FX, Mix bus, Master, etc?
It's a bit more performant than level streaming but there are similarities. Unfortunately, one of those similarities is that you also can't change cords with data layers either.
Great video i never knew this existed can you talk about what uses you could use this for? examples because it would be odd to use them but for what , pretty neat magic trick but i don't know what devs would use it for mostly just reducing loading times?
Version Control: Data layers help manage different versions of levels for testing and iteration. Collaboration: They enable multiple team members to work on different aspects of the same level simultaneously. Dynamic Worlds: Layers facilitate dynamic changes in environments, like day to night transitions or destruction. Performance: You can optimize load times and memory usage by controlling which data layers are active. Platform Specific Content: Data layers can manage content tailored for different platforms or builds. Testing and Debugging: They allow for isolating specific parts of a level for easier debugging and testing.
@@noname2031-w5r Everything you mentioned above are great use cases! In addition, one of the ways we're using them in the game I'm working on ("Don't! Fret") we have a couple "Lights out" events so when the lights come back on, a once-organized area becomes wrecked and looks like chaos happened while the lights are out. It's also great for things like silent hill where you have an area that looks normal but then at a different point in the game the player may come back to the same area but it's a nightmare style hellscape of it's former aesthetic.
never had an idea how this works in UE (been working in Unity before) so this was very interesting feature, thanks. What about memory usage? is it always kept in memory or loaded on the go?
@@awaydays8935 if the layer is set to loaded or active then it’s in memory but if it’s set to unloaded then it’s not. So it’s best to strategize when you load and unload layers.
Thank you, I have a question, Data Layers like Sub Levels does load/unload or just use visibility? Because I develop VR Archviz and its performance and optimization it is very important for me.
Unfortunately, it's not. Data Layers were introduced with the World Partition system that started with Unreal Engine 5. For UE4, I would recommend looking into level stream. It's not as performant as data layers but there are some similarities between the two.
This wouldve been great for darkeat dungeon 2. It's clear they had too much loaded and rendered even though you can't see that far and that led to poor performance on some maps.
I don't have a video on it but I'm happy to share what I use. Mic: Shure SM7b Signal Booster: Cloudlifter CL-1 Interface: Focusrite Scarlett 2i4 This runs directly into OBS (Screen capture software) Inside OBS, I'm using their stock Noise Gate, Gain, then Compressor. (my settings for these stock plugins will probably be different than yours so you'll have to play with them)
There are definitely some similarities. Level streaming came long before data layers though (UE3 or 4 I can't remember) where as Data Layers were introduced with world partitions. This was to help handle asset cache as game maps became larger and more "Open world". Data layers are a little more granular than level streaming and better performing. With level streaming, you were loading an entire level's worth of information into memory including all the world data, game mode, and other back-end things. With data layers, you're just loading what you need and it's just using the world data that's already there. Kind of like a plugin for a piece of software.
Question then...say you have a large building, and you want the environment to change inside the building for different routes for the player...would you have the building in the first data layer, and the 2nd layer would be all the rubble/furniture/doors/enemy types that loads alongside Data player 1 initially, and then when you want to swap out to the other version, youd swap out Data Layer 2 with data layer 3 to intoduce the new rubble//furniture/doors/enemies? This just seems too easy lol
That's exactly what you would do. If your building is always going to be there, you can also remove it from all data layers and it will default to a persistent data layer that's always active. Think of it like a character creator. The persistent layer is like the body and all of your various set dressings and assets are different armor, eyes, hair, attributes, ect.
@@TheSoundFXGuy the building itself i want to keep, but want to isolate from the rest of the world at some point, so the building exists in a dark void, and falling off would kill the player, so i could use Data Layer 1 with the building to toggle to say Data Layer 4 which would house either nothing or “nothing” void decorations and kill zone volumes when falling out
1. It's definitely performant since it allows you to completely unload assets if there not going to be used again or at least for a while and then you just need to load them into memory at the most opportune time before they're needed. 2. I should have covered this in the video so thank you for bringing it up. If you select the assets in your viewport that you want to move, you can then right-click on the layer you want to remove them from and you'll see the option to do so. Subsequently there is another option in the right-click menu to add them to a different layer. Removing them from all data layers will cause them to be on the persistent layer and will never get unloaded.
is it possible, when spawning a data layer, to control where it spawns? I am thinking in terms of triggering one of ten layers in a sequence, so each layer would need to load 100 feet further along 'x' than the last layer, sort of thing. is that making sense?
I do get what you're asking. Unfortunately, the answer is "not that I'm aware of". Instead of data layers, I would use blueprints for each possible section that could spawn. This is based on a great endless runner tutorial that Unreal put out themselves years ago for UE 4.7 that still holds up: ua-cam.com/video/yS-yQfo0lc0/v-deo.html
When unloaded, those assets are fully unloaded so your game will perform as if they're not even there. If you have a bunch of assets in an unloaded layer and try to go straight to activated, there's a good chance you'll see a lag spike or in extreme cases a crash. So it's a good idea to pick and chose the best time to load your next layer. A lot of games will do this during things like low/no npc counts, low/no particle effects, lights out events, during cutscenes, ect.
I created the game Two Doors where a room changes every time you enter it. I wasn't aware of Data Layers or Streaming Levels, so I did it all by "hand". Set hidden in game was so slow that I ended up caching the original positions of each asset and moving it to z -10000. I am very curious how the performance would be with data layers
@@zidanex123 I haven’t played your game but I have seen it on Steam! Data layers would be perfect for it. You could just have your changes to each room in a data layer and just load/unload them. Then you won’t have to teleport assets which can cause a lag spike if there’s a bunch per move.
@@TheSoundFXGuy Would have make things so much easier. I won’t use it for the first game cause it works pretty fine now. But it was very hard to get around the lags. Now I know more concepts for my next project :)
Soooo TECHNICALLY you could utilize this Data layering method to only ever have 1 level in your game, put a main menu, settings, profile and everything, then the in game map and playable areas? Or would there be problems with that?
There are definitely some similarities. Level streaming came long before data layers though (UE3 or 4 I can't remember) where as Data Layers were introduced with world partitions. This was to help handle asset cache as game maps became larger and more "Open world". Data layers are a little more granular than level streaming and better performing. With level streaming, you were loading an entire level's worth of information into memory including all the world data, game mode, and other back-end things. With data layers, you're just loading what you need and it's just using the world data that's already there. Kind of like a plugin for a piece of software.
@@TheSoundFXGuy I see the case, so for example everything in your video is actually already loaded, and the trigger box basically just activate/deactivate it's visibility
@@TheSoundFXGuy Wow so it's actually Level Streaming but even more advanced. You can still unload scenes when necessary. Also, you can trigger this with a collision box, and for level streaming you must be in the level streaming volume, which is quite annoying. Thank you for this video, just found a new perfect way to optimize!
@@TheSoundFXGuy Yeah. Cool lil game with all the possible mechanics and features in one place. It is really cool that the game became quite popular so many gamers may see what two people are capable of making game with love and passion. It is also cool that you show people that it is not that hard to implement such features inside the game engine.
If you want to code with Data Layers using BP, it’s a nightmare. The features are unfinished and totally undocumented. You will struggle if you want to use them in a non-hobby capacity. Good luck getting DLs to load in the background so that your game doesn’t drop down to 10fps during a load.
In case you were wondering, I said "Data Layer(s)" 71 times in 18 minutes.
I shouldn’t have read this before watching… now I’m listening for it 😭
take a shot every time TheSoundFXGuy says data layer...you know what, nevermind 😆
Think I might make a tune out of the 'data layer' - 5/4 back beat 😅
@@jun3jun3everyone will lose in that drinking game lol
@@ThomasJWollandsfxplease do!
It’s worth remembering that Data Layers ONLY work if you’re using World Partition. World Partition is on by default for a lot of templates, but if you happen to be using traditional streaming levels you can’t use Data Layers, and will be able to using traditional “streaming levels” to separate things in such a manner, and standard “layers” within those streaming levels to get more control of separation.
If World Partition is not important, which one is preferable?
@@zidanex123 World Partition is designed for large open worlds, to make management easier in that context, so instead of you manually streaming levels in and out the engine will load sections based on the player location automatically.
If you're making a smaller scene, or all indoors for example, it's arguable that you're better off manually controlling streaming levels and layers and not using World Partition. That said you can still opt to use World Partition, but it's arguable that there's little point since that's not what it's designed for.
It should be absolutely fine though, as you can use data layers to manually load things in and out in the manner shown here.
Unreal presents you with a lot of options so it can be overwhelming, and which is the ABSOLUTE best thing to do is so specifically dependent on the individual project that it can be very hard to know without all the specifics.
@@zidanex123 as I understand, but I could be wrong - data layers are for open world maps using world partitioning (for example, loading interiors when close to a building). while it's possible to make open-world maps with streaming levels (sub-levels), it isn't ideal because you would have to load in the map parts manually, so that's the old method for more linear maps.
This video is super helpful, well-spoken, and full of amazing examples. It's practical, concise, and easy to follow. You did a wonderful job!
These bite size tutorials are very helpful, audio or otherwise. Hope you continue these and organize in a way to quick reference these instructions. +1 subscribed.
I'm glad you enjoyed it. I was nervous to break away from audio specific topics but happy I did.
Thanks so much for this small tutorial with Data Layers! Love the content!
Great video! It's been a while since I last worked with data layers, but it's always exciting to dive into topics outside the realm of audio. Gaining a solid overview of these tools is incredibly valuable, not just for broadening our perspective but also for thinking more creatively about audio. Good Work!
this is actually sick, i used unreal for quite a while and i never notice it
especially the Unloaded state for optimisation is pretty good
Thx you bro!
Awesome, thanks. I wanted to make something like base upgrades, which could for example spawn entire building with NPC like some trader or gunsmith inside and such. It might be a nice way of doing it.
That's a great way to utilize it.
That's a good idea
Oooh thats fascinating. Ive been looking into level streaming lately and this seems similar but like it would have more fine tuned controls... definitely diving into that soon. Thanks for the video!
used to make this with nodes in armory and upbge game engines for blender, . worked for entering buildings with interiors. trigger and spawn objects, or make them visible with colisions. problem was that if the layer had lots of ojects in the a room for example, fps drops depending how many data it has to load into the scene, kind of a small loading lag, so i had to make some kind of loading screen sometimes. Also worked with lights, and sceens, or spawning charaters. Ligthing laps and stuff are another resource consuming objects so is good to know that we can hide/unhide them inside data layers now. good to know that we can have data inside layers now in unreal, cause i have to build my whole city to play my gta with interios :).
This reminds me of the movie inception 😂 Nice presentation!
Thank you - you just saved me a lot of time in my unreal project by showing up with data layers 🤩
Awesome video! Thank you!
Wow that was really cool! I think I might use that type of logic on the starting area
Thanks!
Thank YOU!
This is a good way to keep things organized within a level. I used to use Level Stream all the time. I wonder which one is cheaper to use. But I gotta admit that DataLayer has an advantage for having options like Loaded, Unloaded, and Activated unlike Level Streaming - it loads each time when you stream it.
i think it depends on the Game Level Streaming is good for a Ghost Hunting Game but for a Exit 8 Type Game Data Layers would be useful since you can make a bunch of them being Anomalies and then when you click the Elevator Button even though you are on the same floor but you can have one do none to whichever one you want to do
Wonderful tutorial and showcase of Data Layers, and very useful.
You Mr. FX guy are a Marketing and design god!
I don't know about that, but I appreciate it.
Fantastic stuff man!! Perfectly simple explanation about a complex topic. Well🎉 done
They can definitely get confusing. The number of times I had to stop and realign myself just building the tutorial is more times than I care to admit lol.
@ ha no doubt!! I always keep a notepad by my desk when working in Unreal!! Because it becomes Inception real fast!!!!
Very useful video man! Thanks
This is gold! Thanks for covering it.
The intro weas full of surprises :))
It is important to stress that if a data layer is activated, it stays loaded in memory no matter how faraway you are, even if it is outside the loaded world partitions.
So, yes, used wisely it can save memory and improve performance, but you have to be cautious, because is also very easy to forget something loaded and waste memory space.
I had a game idea just last night that this would be absolutely perfect for!
If you make something, I'd love to check it out!
good vibes man thank you!
Wow, this is a huge game changer for me!! Thank you for the video, I’ll be diving into it later this evening. Once again, big thanks! :>
Seriously amazing explanation. ❤️
This was a great tutorial. I definitely need more videos like this from you. I'm at the beginning throws of learning unreal engine, and I've been having a failure to launch. Mostly just finding it hard to focus, and feeling overwhelmed by the learning curve lol
It can definitely be overwhelming at times but just keep at it. When I first started learning Unreal, I would just tinker with small things or try to recreate simple things that I saw in other games and then build on it. As a basic example, learn how to place a door into your level, then learn how to make a box trigger, then learn how to use a box trigger that opens your door, then how to add a door open/close sound. It may seem rudimentary but it really helps. It's also important to not only learn how to do something but WHY it works the way it does. This will help when it comes to improvising or working with a project team who might have different workflows.
@TheSoundFXGuy ive followed some of the official unreal learning path, and i understand a lot of the things conceptually. A big issue i have is not knowing which blueprint nodes I need and which pins to use. It doesn't feel as intuitive as I wish it did. I'm sure it's 100% user error lol! I've been trying to dedicate my time fleshing out my game design document so I can get everything out of my head and "on paper". I'm hoping that will let me focus in on what needs done, instead of just feeling like the huge undertaking is just a pipe dream. It's hard being a one man army, but even harder when you're a novice to the umpteenth degree haha
really interesting !
thank you so much for this video!
Cool, thank you!
i love YT algo, thx for the video! :D
of Course thought with a Ghost Hunting Game you would want to use Level which you right click in the Content Drawer and then make one for each map so you dont have a Bug with Data Layer before you can use that in Conjunction with Streaming the stuff farther away wont be loaded in but when you get Closer they will unless Level Streaming means something different
What you're thinking of is called distance culling and I'm pretty sure that's going to be my next video.
So useful! Thx for sharing.
I like this video, thanks for sharing!
Awesome stuff!
I want to use data layers for a few things. 1) alongside loading screens so players can retain player control and "play" in an empty space (like assassin's creed). 2) to alter game states like a town's construction or destruction during a quest. 3) to allow players to choose a location for their base, for when "that perfect spot" is already taken by another player. And 4) reserving a space in my map for an "empty" area that uses data layers to cycle through custom or procedural dungeons to save space in the map.
So cool dude, thanks!
hmm so this is how you make a horror game😂😂
This is definitely used a lot in horror games.
ur a great teacher!
thank you!
Nice trick, Thank you.
🔥🔥🔥 this is awesome!
Great video SoundFXGuy! If I've already built my level, how do I add existing geometry to new data layers?
You can create a new data layer and then use the outliner window to select all of the assets you want to move. Right click on that data layer and use the option "Add selected actor(s) to Selected Data Layer(s)". And if you accidentally put them in the wrong layer, you can use the remove option (this will put them back in the persistent layer) and then you can add them to the correct one.
youtube recomendation brought me here and I'm impressed by content's quality.
If I understood correctly, all objects will remain in memory as long as the level is loaded. does it means it's not ideal for dense levels if I want to keep ram usage low?
If the layer is loaded or active then all assets in those layers will be in memory. This is actually perfect for dense games though. You'll just need to make sure you're completely unloading layers that may not be used for a while or ever again and pick the best time to re-load layers your about to call. A lot of games will do this during cutscenes or while in a less-dense area.
i know this was just to show us how to do it but i would have made that the Dinning Room and the Attic as a Bedroom since the Layout is great for that but Thank you for Video
You might want to consider moving your face light (that circle one) so it no longer reflects directly in your glasses :)
@@Borszczuk I keep that in mind. Didn’t realize people wanted to look into my eyes lol.
Good stuff. Do you have a tutorial on setting up a full audio mixing setup for a game project as you would in a DAW? Stems, busses, FX, Mix bus, Master, etc?
I have individual videos on how to do certain things but not an all-in-one. I should probably get to work on that though.
Quite interesting. Sounds same like level streaming. Can we change coordinates of layers at runtime. It's not possible in LSV method as far as I know
It's a bit more performant than level streaming but there are similarities. Unfortunately, one of those similarities is that you also can't change cords with data layers either.
Great video i never knew this existed can you talk about what uses you could use this for? examples because it would be odd to use them but for what , pretty neat magic trick but i don't know what devs would use it for mostly just reducing loading times?
Version Control: Data layers help manage different versions of levels for testing and iteration.
Collaboration: They enable multiple team members to work on different aspects of the same level simultaneously.
Dynamic Worlds: Layers facilitate dynamic changes in environments, like day to night transitions or destruction.
Performance: You can optimize load times and memory usage by controlling which data layers are active.
Platform Specific Content: Data layers can manage content tailored for different platforms or builds.
Testing and Debugging: They allow for isolating specific parts of a level for easier debugging and testing.
@@noname2031-w5r Everything you mentioned above are great use cases! In addition, one of the ways we're using them in the game I'm working on ("Don't! Fret") we have a couple "Lights out" events so when the lights come back on, a once-organized area becomes wrecked and looks like chaos happened while the lights are out. It's also great for things like silent hill where you have an area that looks normal but then at a different point in the game the player may come back to the same area but it's a nightmare style hellscape of it's former aesthetic.
Nice, Thx!!!😊
Thank you very much, I didn't know this system at all! It's super simple. I use levels but what's the difference with layers and levels?
this is so helpful
Hmm no wonder why we see more of these in unreal engine games
never had an idea how this works in UE (been working in Unity before) so this was very interesting feature, thanks. What about memory usage? is it always kept in memory or loaded on the go?
@@awaydays8935 if the layer is set to loaded or active then it’s in memory but if it’s set to unloaded then it’s not. So it’s best to strategize when you load and unload layers.
Thank you, I have a question, Data Layers like Sub Levels does load/unload or just use visibility? Because I develop VR Archviz and its performance and optimization it is very important for me.
it's a complete unload so definitely a performance gain.
@@TheSoundFXGuy Great, thank you
Very interesting video! thank you! Can you tell me if it's possible to do this on UE4?
Unfortunately, it's not. Data Layers were introduced with the World Partition system that started with Unreal Engine 5. For UE4, I would recommend looking into level stream. It's not as performant as data layers but there are some similarities between the two.
Can these data laters blend in with a lerp? Probably a silly question 😅
Not a silly question but unfortunately not that I'm aware of.
This wouldve been great for darkeat dungeon 2. It's clear they had too much loaded and rendered even though you can't see that far and that led to poor performance on some maps.
do you have a video on your mic setup? the audio is so crisp
I don't have a video on it but I'm happy to share what I use.
Mic: Shure SM7b
Signal Booster: Cloudlifter CL-1
Interface: Focusrite Scarlett 2i4
This runs directly into OBS (Screen capture software)
Inside OBS, I'm using their stock Noise Gate, Gain, then Compressor. (my settings for these stock plugins will probably be different than yours so you'll have to play with them)
What is the difference between this and level streaming? It's pretty similar...
There are definitely some similarities. Level streaming came long before data layers though (UE3 or 4 I can't remember) where as Data Layers were introduced with world partitions. This was to help handle asset cache as game maps became larger and more "Open world". Data layers are a little more granular than level streaming and better performing. With level streaming, you were loading an entire level's worth of information into memory including all the world data, game mode, and other back-end things. With data layers, you're just loading what you need and it's just using the world data that's already there. Kind of like a plugin for a piece of software.
Can you do data layers on world partitioned landscapes?
I've not tried it myself but I would be surprised if you couldn't. Data Layers came packaged with the world partition update.
Question then...say you have a large building, and you want the environment to change inside the building for different routes for the player...would you have the building in the first data layer, and the 2nd layer would be all the rubble/furniture/doors/enemy types that loads alongside Data player 1 initially, and then when you want to swap out to the other version, youd swap out Data Layer 2 with data layer 3 to intoduce the new rubble//furniture/doors/enemies?
This just seems too easy lol
That's exactly what you would do. If your building is always going to be there, you can also remove it from all data layers and it will default to a persistent data layer that's always active. Think of it like a character creator. The persistent layer is like the body and all of your various set dressings and assets are different armor, eyes, hair, attributes, ect.
@@TheSoundFXGuy the building itself i want to keep, but want to isolate from the rest of the world at some point, so the building exists in a dark void, and falling off would kill the player, so i could use Data Layer 1 with the building to toggle to say Data Layer 4 which would house either nothing or “nothing” void decorations and kill zone volumes when falling out
@@musicdudem6673 100%
Thanks for a great video. two questions. Is this good for performance? And can you change the data layer of the assets later?
1. It's definitely performant since it allows you to completely unload assets if there not going to be used again or at least for a while and then you just need to load them into memory at the most opportune time before they're needed.
2. I should have covered this in the video so thank you for bringing it up. If you select the assets in your viewport that you want to move, you can then right-click on the layer you want to remove them from and you'll see the option to do so. Subsequently there is another option in the right-click menu to add them to a different layer. Removing them from all data layers will cause them to be on the persistent layer and will never get unloaded.
@TheSoundFXGuy thank you for the quick answer. Keep up the good work. I learn much from you ^^
is it possible, when spawning a data layer, to control where it spawns? I am thinking in terms of triggering one of ten layers in a sequence, so each layer would need to load 100 feet further along 'x' than the last layer, sort of thing. is that making sense?
I do get what you're asking. Unfortunately, the answer is "not that I'm aware of". Instead of data layers, I would use blueprints for each possible section that could spawn. This is based on a great endless runner tutorial that Unreal put out themselves years ago for UE 4.7 that still holds up: ua-cam.com/video/yS-yQfo0lc0/v-deo.html
@@TheSoundFXGuy cool, thanks! data layers looked like an excellent way to group a set of assets. I'll see what that tutorial has to say. :-)
When a part of the map is unloaded does it take 0% of performances as if it truly weren’t there or does it still take a tiny little bit of perf ?
When unloaded, those assets are fully unloaded so your game will perform as if they're not even there. If you have a bunch of assets in an unloaded layer and try to go straight to activated, there's a good chance you'll see a lag spike or in extreme cases a crash. So it's a good idea to pick and chose the best time to load your next layer. A lot of games will do this during things like low/no npc counts, low/no particle effects, lights out events, during cutscenes, ect.
What about level instances? Don't they have same effect?
I created the game Two Doors where a room changes every time you enter it. I wasn't aware of Data Layers or Streaming Levels, so I did it all by "hand". Set hidden in game was so slow that I ended up caching the original positions of each asset and moving it to z -10000.
I am very curious how the performance would be with data layers
@@zidanex123 I haven’t played your game but I have seen it on Steam! Data layers would be perfect for it. You could just have your changes to each room in a data layer and just load/unload them. Then you won’t have to teleport assets which can cause a lag spike if there’s a bunch per move.
@@TheSoundFXGuy Would have make things so much easier. I won’t use it for the first game cause it works pretty fine now. But it was very hard to get around the lags. Now I know more concepts for my next project :)
Cool!
W
O
W
Is this like loading/unloading scenes additively in Unity?
It's been a very long time since I've been in Unity so I can't say for certain.
What s the difference from ulevel?
Soooo TECHNICALLY you could utilize this Data layering method to only ever have 1 level in your game, put a main menu, settings, profile and everything, then the in game map and playable areas? Or would there be problems with that?
So DataKayers in ew,better to use way to o things in WorldPartition setup (instead old school,still working level streaming)?
Does this also works with multiple players? Like can one player be in a data layer 3 while the other is in 1 and they can’t see each other
That is a question I do not have an answer to but I can certainly look into it.
@@TheSoundFXGuy thx, please let us know if you do!
Hey So this is basically like Level Streaming?
There are definitely some similarities. Level streaming came long before data layers though (UE3 or 4 I can't remember) where as Data Layers were introduced with world partitions. This was to help handle asset cache as game maps became larger and more "Open world". Data layers are a little more granular than level streaming and better performing. With level streaming, you were loading an entire level's worth of information into memory including all the world data, game mode, and other back-end things. With data layers, you're just loading what you need and it's just using the world data that's already there. Kind of like a plugin for a piece of software.
@@TheSoundFXGuy I see the case, so for example everything in your video is actually already loaded, and the trigger box basically just activate/deactivate it's visibility
@ correct and then when I load layer 3 in, I completely unload layer 1 since I didn’t need it anymore.
@@TheSoundFXGuy Wow so it's actually Level Streaming but even more advanced. You can still unload scenes when necessary. Also, you can trigger this with a collision box, and for level streaming you must be in the level streaming volume, which is quite annoying. Thank you for this video, just found a new perfect way to optimize!
Isn’t this just level streaming?
In short "Portals"
anyone ever tell you that you look JUST LIKE Bubba Ray Dudley?
You would be the first lol. He can grow better facial hair than I can though.
It looks like recent release of Miside by two developers made people think that games can be less primitive than todays AAA titles! Lol
I actually just saw Miside being played for the first time the other day and it was really impressive.
@@TheSoundFXGuy Yeah. Cool lil game with all the possible mechanics and features in one place. It is really cool that the game became quite popular so many gamers may see what two people are capable of making game with love and passion. It is also cool that you show people that it is not that hard to implement such features inside the game engine.
If you want to code with Data Layers using BP, it’s a nightmare. The features are unfinished and totally undocumented. You will struggle if you want to use them in a non-hobby capacity. Good luck getting DLs to load in the background so that your game doesn’t drop down to 10fps during a load.
thank you!