Instantiate() and Destroy() vs setActive()

I’m making the 2d game, such as minecraft but in 2d, and i have a question about Gameobjects:

I create inventory. it’s a component of GameObject of the main camera.
In scene exist many GameObjects(Things) having some parameters (strength,cost, etc).

If i want to add/remove things at the inventory, what is better:

1)Destroy the thing and save parameters of this thing in cell at the inventory/
Instantiate the thing and load parameters of this thing from cell at the inventory.

2)Set to inactive the thing and save Transform of this thing in a cell at the inventory/
Set to active the thing and move this thing to the player.

3)Your variant.

Sorry for my english.

P.S. if i want to move Gameobject(Main Camera) with disabled childs(Things in the inventory) in second variant, it’s expensive?

It is harder to destroy something that you instantiated than it is to set something as inactive.