7:26 so that's why there was no function related to editing the Primary Data Asset, this is such obscure knowledge even the editor doesn't count the PDA as "dirty" when modifying it this way, but you can still save it. The video was nice but this is the jackpot part for me ^ Thanks for the tip. ❤🔥
NM looked a bit more into it looks like these are handy for initialization even for C++ Users. Just can't manipulate the data in it, still not bad for an inventory system.
Is it a good practise, lets say if i have a PlayerState with all information about my character state on a current level and i want to enter another level, to store a Player State information or an object inside a DataAsset and then reinitialize a Player State with all information from prevoius level or its much easier to store it in SaveGame or GameInstance. I just can't see any useful techincs with them that i can use, exept basic inventory system.
hi! I noticed that in the Save Game object it's possible to create a data asset variable to store. So why do you mention that the data asset cannot be saved? (I haven't tried to actually save it and load it, just curious why it wouldn't work)
Great vid. Question, any help with a save system using data assets? It doesn’t seem to be the most practical way to get all the data vars in a data asset and set each one. Would be nice to see a video on this.
Yeah, I'm hoping to add a save system to my project soon so I'll be taking a look at it. As you said, Data tables as a whole aren't designed to be modified at runtime even though they can be which is why you can't save all their variables. But as you can see in this video I'm using the, The way I'm going to approach this will be to have a function inside my game instance which contains the variables for my Data asset which im modifying, I don't need all of them, only the ones used by my play and displayed in the player's menu. There I can set the variables the player has changed and save them (Only the modified ones). Then on load, I can populate the data asset with the modified variables. Basically, the function is going to act like a middleman. Make sure to drop by the discord, more than happy to keep you updated once I start tackling it.
I have an issue where I have a main data asset that has reference to other data assets, when I access the main data asset from the character, it will clear the references when I close the editor, I'm assuming it's a bug, have you ran into this issue?
Yeah, there's definitely benefit to both. The way I look at data assets as there great for default settings. For actors but if your going to create an actor that pulls data in like weapon damage and such then data tables are the way to go our you will need a data asset for every variation. Aye the end of the day though its down to the use case.
@@GDXR Yeah that is intended, the Asset Manager and Data Assets were made for games with a large amount of itemization, Epic introduced this with the ARPG template. If your game has a lot of items Data Assets are just more performant as Indexed file names is simply faster than doing a string search in a large file like a Data Table.
@@GDXR One thing that is nice about Data Tables as well is they can be edited outside of the engine with a spreadsheet tool. You can use mass populate rows and apply the math tools that are common in say Excel. So you can do things like curves for say EXP needed per level etc and more advanced math functions that would be a pain in the dick to populate by hand for so many entries in a Data Asset. There is also the idea of remote work or working from a laptop, tablet or cellphone. Being able to work on items or things in your game from say your sisters couch over the holidays or a coffee bar without access to your UE workstation has its benefits. This remote work is why DataTables are common for importing dialog. That way a writer or a designer can work wherever and whenever they want without access to the engine or without messing with any objects, just submit their revisions prior, custom excel script formats the dialog for the game via a Data Table and were good, update prior to the build. Creative writing from within a Data Asset isn't the most artistic or mind clearing experience. Data Assets are great though as DataTables don't have a parent/child setup. Which any dev would know has major benefits. It does depend on use case though for sure.
Ce n'est pas du tout une bonne manière d'utiliser les Data Assets, leur but comme les Datatables, est de pouvoir enregistrer des informations fixe (hors jeu) et de manière multiple, et non pas juste une fois. Toi,il suffirais de remplacer ton Data Asset par un struct ...
11:24: Well, that's not even the problem. There is obviously an overlap detection as you tested it, and it properly gets your character reference. However, your node == is supposed to check if two actors references are the same, but you only input the one detected by the overlap, you don't actually compare it with anything. Are you sure you even understand what you are doing?
4:19 - Ha! I love that secret little crash in there.
7:26 so that's why there was no function related to editing the Primary Data Asset, this is such obscure knowledge even the editor doesn't count the PDA as "dirty" when modifying it this way, but you can still save it.
The video was nice but this is the jackpot part for me ^
Thanks for the tip. ❤🔥
Great tutorial, man. Been trying to figure out how to manage my data in Unreal (like I did with Scriptable Objects in Unity) and this really helped.
NM looked a bit more into it looks like these are handy for initialization even for C++ Users. Just can't manipulate the data in it, still not bad for an inventory system.
A little bit lenghty, but very informative, tnx!
I wonder if makes sense to use them to build an inventory system hmmm...
Is it a good practise, lets say if i have a PlayerState with all information about my character state on a current level and i want to enter another level, to store a Player State information or an object inside a DataAsset and then reinitialize a Player State with all information from prevoius level or its much easier to store it in SaveGame or GameInstance. I just can't see any useful techincs with them that i can use, exept basic inventory system.
hi! I noticed that in the Save Game object it's possible to create a data asset variable to store. So why do you mention that the data asset cannot be saved? (I haven't tried to actually save it and load it, just curious why it wouldn't work)
Thank you sir.
Great vid. Question, any help with a save system using data assets? It doesn’t seem to be the most practical way to get all the data vars in a data asset and set each one. Would be nice to see a video on this.
Yeah, I'm hoping to add a save system to my project soon so I'll be taking a look at it. As you said, Data tables as a whole aren't designed to be modified at runtime even though they can be which is why you can't save all their variables. But as you can see in this video I'm using the, The way I'm going to approach this will be to have a function inside my game instance which contains the variables for my Data asset which im modifying, I don't need all of them, only the ones used by my play and displayed in the player's menu. There I can set the variables the player has changed and save them (Only the modified ones). Then on load, I can populate the data asset with the modified variables. Basically, the function is going to act like a middleman.
Make sure to drop by the discord, more than happy to keep you updated once I start tackling it.
@GDXR im having a problem it works fine in editor but when i package it it wont work can you help me?
I have an issue where I have a main data asset that has reference to other data assets, when I access the main data asset from the character, it will clear the references when I close the editor, I'm assuming it's a bug, have you ran into this issue?
i cant find the PrimaryDataAsset parent class anywhere, can anyone please help me?
I've been saying for a while Data Assets are the way to go, but everyone keeps using Data Tables, makes me sad.
Yeah, there's definitely benefit to both. The way I look at data assets as there great for default settings. For actors but if your going to create an actor that pulls data in like weapon damage and such then data tables are the way to go our you will need a data asset for every variation.
Aye the end of the day though its down to the use case.
@@GDXR Yeah that is intended, the Asset Manager and Data Assets were made for games with a large amount of itemization, Epic introduced this with the ARPG template. If your game has a lot of items Data Assets are just more performant as Indexed file names is simply faster than doing a string search in a large file like a Data Table.
@@GDXR One thing that is nice about Data Tables as well is they can be edited outside of the engine with a spreadsheet tool. You can use mass populate rows and apply the math tools that are common in say Excel. So you can do things like curves for say EXP needed per level etc and more advanced math functions that would be a pain in the dick to populate by hand for so many entries in a Data Asset.
There is also the idea of remote work or working from a laptop, tablet or cellphone. Being able to work on items or things in your game from say your sisters couch over the holidays or a coffee bar without access to your UE workstation has its benefits. This remote work is why DataTables are common for importing dialog. That way a writer or a designer can work wherever and whenever they want without access to the engine or without messing with any objects, just submit their revisions prior, custom excel script formats the dialog for the game via a Data Table and were good, update prior to the build. Creative writing from within a Data Asset isn't the most artistic or mind clearing experience.
Data Assets are great though as DataTables don't have a parent/child setup. Which any dev would know has major benefits. It does depend on use case though for sure.
Ce n'est pas du tout une bonne manière d'utiliser les Data Assets, leur but comme les Datatables, est de pouvoir enregistrer des informations fixe (hors jeu) et de manière multiple, et non pas juste une fois.
Toi,il suffirais de remplacer ton Data Asset par un struct ...
11:24: Well, that's not even the problem. There is obviously an overlap detection as you tested it, and it properly gets your character reference. However, your node == is supposed to check if two actors references are the same, but you only input the one detected by the overlap, you don't actually compare it with anything. Are you sure you even understand what you are doing?