Unrecognized type "Item" - type must be a UCLASS

You are using a normal c++ workflow with constructor / destructor and creating the instance with new and that is not the correct way of doing that in unreal because he has its own garbage collection and workflow. The correct way is the to use newobject. If you search for newuobject or create uobject you’ll find articles about that.