I am getting 2 Hats instead of one. See screenshot below.
I will have a go at ‘fixing’ this but thought you should know.
I would start with some Debugs in Pickup.PickupItem() and Inventory.AddToFirstEmptySlot() to see what’s being picked up and added.