Hey @Gardx! Welcome to the forums!
You’re on a good track here with one exception:
It needs to be flipped around.
I’m assuming you’re putting all of this on the player character, as you never stated where this was but that what it seems like.
Once an actor is spawned, you can have that actor talk BACK to the player as part of its begin play. You can have that actor tell the spawner (in this case, the player) what abilities and variables the spawned actor has, using “Get Owner” if you pass in “Self” as owner on “SpawnActor”.
Otherwise, you will end up with the player actor getting bloated, storing all of the information, which is what you’re trying to avoid by using a DataAsset.
Hope that helps!