Eyo,
Starters, DataAssets <3
Second, I went from Unity to Unreal a couple of years ago and did something similar so I understand where you come from.
Well, I have only worked with them in c++ so take this with a grain of salt.
I have it somewhere in the back of my head that you never should set a DataAsset value as I believe that they are not instanced at all, if you, for example, use one DA_ in two different BP’s, set one of the values in runtime, and then read the information from both BP’s you’d get the same value from both of them.
There is a lot of different ways to use them and I think some of their “intended” purposes is:
- Refactor - Make it easier to collect and save data when refactoring code
- SourceControl - Remove the need for programmers and Designers to work using the same BP at the same time.
- Centralize information - Removes the unnecessary “extra” time to find all the values that are specifically for Designers
- Iteration - It is easy to duplicate a data asset and set new variables.
I believe that the “Player State” is the “official” way to save information between levels.