# Sandbox.BaseInventoryComponent.Transfer

```csharp
bool Transfer(BaseInventoryItem item, BaseInventoryComponent to, int slot = -1)
```

Moves an item from this inventory into another - no world drop, no destroy. The usual gates
get a say ([Sandbox.BaseInventoryComponent.OnRemoving](/api/Sandbox.BaseInventoryComponent/OnRemoving) here, [Sandbox.BaseInventoryComponent.OnAdding](/api/Sandbox.BaseInventoryComponent/OnAdding) and the item's own say
there); any refusal leaves everything as it was. Reserve ammo stays behind - the pool lives
on the inventory, not the item. The destination doesn't auto-deploy (it may be a chest).
Host only - who may move items between which inventories is game policy, so games route
their own requests here. Returns whether the item moved.

### Parameters

- `item` (`BaseInventoryItem`)
- `to` (`BaseInventoryComponent`)
- `slot` (`int`), default `-1`

### Returns

`bool`

Declared in [Sandbox.BaseInventoryComponent](/api/Sandbox.BaseInventoryComponent).
Assembly: `Sandbox.Engine`.
