Random item generation design pattern

I see no reason why you make items from AActor class.
The pick up item to drop on world is just a visual container anyway.
You can use UDataAsset to build item types; There are other ways (I create Item objects like they were assets in Asset Browser, not blueprints, but that is way too much complicated to explain here), but UDataAssets are the thing for base item classes…