I have a inventory which is extended from an actor component,
The inventory stores the current weapons a character is using so I made the inventory TSubObjectPtr in the character class
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Inventory)
TSubobjectPtr<class UInventory> CharacterInventory;
Now the problem is many things I am assigning in the inventory are blueprints. So I thought it would be better if I made them inventory a blueprint. But if I made it a blueprint, I cant make it a TSubObjectPtr So i think of making it a normal pointer and storing the values in it. Not sure if it would give much problem.