# Tool

Tool : `BackpackItem`

## Overview

A Tool is an instance of equipment that the humanoid can hold and equip.

Unequipped owned Tools are stored in the Backpack belonging to the Player object and appear as icons at the bottom of the game screen.

Once equipped, the Tool is removed from the Backpack and moved into the Character model, making it ready for use.

By default, a Tool is mounted on the right hand and typically contains a BasePart called Handle. However, it can operate without a Handle if the RequiresHandle property is set to false. Additionally, any Tools intended to be provided to players upon spawning or respawning should be placed in the StarterPack.

## Properties

### CanBeDropped

`boolean`

This property specifies whether the equipped Tool is dropped in front of the character when its Parent property is changed to Workspace.

If this property is false, the equipped Tool's parent cannot be changed via a script.

#### Code Samples

```lua
local Tool = script.Parent

Tool.CanBeDropped = true
```

### Enabled

`boolean`

Currently not supported.

#### Code Samples

### Grip

`CFrame`

Currently not supported.

#### Code Samples

## Methods

### Activate

Currently not supported.

#### Parameters

#### Return

| `void` |   |
| ------ | - |

#### Code Samples

### Deactivate

Currently not supported.

#### Parameters

#### Return

| `void` |   |
| ------ | - |

#### Code Samples

## Events

### Activated

Currently not supported.

#### Parameters

#### Code Samples

### Deactivated

Currently not supported.

#### Parameters

#### Code Samples

### Equipped

This event is executed when a tool is equipped.

#### Parameters

#### Code Samples

```lua
local Tool = script.Parent

local function OnEquipped()
    print("Tool Equipped!")
end
Tool.Equipped:Connect(OnEquipped)
```

### Unequipped

This event is executed when a tool is unequipped.

#### Parameters

#### Code Samples

```lua
local Tool = script.Parent

local function OnUnequipped()
    print("Tool Unequipped!")
end
Tool.Unequipped:Connect(OnUnequipped)
```

## See also

{% content-ref url="/pages/0J9YGyqpcmd120kqoBsJ" %}
[Tool](/manual/studio-manual/object/tool.md)
{% endcontent-ref %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.overdare.com/development/api-reference/classes/tool.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
