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?
14 дней назад
@@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.
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!
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!
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
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 :).
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.
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.
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
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.
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.
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.
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.
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: ruclips.net/video/yS-yQfo0lc0/видео.html
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
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.
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.
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 :)
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.
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?
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.
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?
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
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)
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.
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.
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.
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!
Thank you - you just saved me a lot of time in my unreal project by showing up with data layers 🤩
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!
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.
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!
Thanks!
Thank YOU!
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!
Thanks so much for this small tutorial with Data Layers! Love the content!
You Mr. FX guy are a Marketing and design god!
I don't know about that, but I appreciate it.
Wow that was really cool! I think I might use that type of logic on the starting area
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
This is gold! Thanks for covering it.
Wonderful tutorial and showcase of Data Layers, and very useful.
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!
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 :).
The intro weas full of surprises :))
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!!!!
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.
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
Very useful video man! Thanks
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.
really interesting !
Seriously amazing explanation. ❤️
Awesome stuff!
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! :>
i love YT algo, thx for the video! :D
good vibes man thank you!
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.
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.
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.
🔥🔥🔥 this is awesome!
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.
Hmm no wonder why we see more of these in unreal engine games
thank you so much for this video!
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
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: ruclips.net/video/yS-yQfo0lc0/видео.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. :-)
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
So useful! Thx for sharing.
hmm so this is how you make a horror game😂😂
This is definitely used a lot in horror games.
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.
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.
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 :)
So cool dude, thanks!
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.
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.
I like this video, thanks for sharing!
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?
thank you!
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.
Nice trick, Thank you.
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.
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.
So DataKayers in ew,better to use way to o things in WorldPartition setup (instead old school,still working level streaming)?
Nice, Thx!!!😊
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%
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)
ur a great teacher!
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?
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.
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 ^^
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!
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.
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!
this is so helpful
Cool!
W
O
W
Isn’t this just level streaming?
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.
In short "Portals"
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.