if you want replication, spawning, reflection, garbage collection, and better access to global data, you should be using actors.
if you want really light weight data for storage speed, use a c++ struct that you can make in yourBlueprintFunctionLibrary.
blueprint is for prototyping, and c++ is for optimization, so if you’re worried about wasting a few bits on some extra position data, use c++.