# Components

Source: https://docs.arcweave.com/project-items/components
Section: Project Items
Description: Components are reusable story objects, such as characters, locations, and items, that store information in attributes

**Components** are Arcweave's reusable story objects, such as characters, locations, and items. They don't sit on boards or take part in the story flow; instead, each component stores information about one story object in its name, cover, and [attributes](https://docs.arcweave.com/project-items/attributes). You can attach components to [elements](https://docs.arcweave.com/project-items/elements), [mention](https://docs.arcweave.com/project-tools/mentions) them in text, and use their attributes as [component variables](https://docs.arcweave.com/project-items/variables/component) in Arcscript.

Depending on its genre and theme, your story may include some of the following objects:

- Characters
- Locations
- Items
- Clues
- Weapons
- Magical spells
- Emotions
- Weather conditions
- Memories
- Time periods
- All sorts of stats

Components are very flexible: you can use them to represent any of the above, according to your project's needs.

You can find and manage your project's components and their folders on the upper part of Arcweave's sidebar, under the **Components** tab.

## Component folders

Context: Arcweave docs > Project Items > Components > Component folders

To organize your components efficiently, Arcweave lets you create your own structure of component folders within your project.

## Components section

Context: Arcweave docs > Project Items > Components > Components section

Once inside a project, you can view and manage your components and folders in the **Components** section, located in the upper half of Arcweave's left sidebar, under the **Components** tab.

![The Arcweave project environment with an orange rectangle emphasizing the Components section of the left sidebar.](https://docs.arcweave.com/assets/components-sidebar.DNiuAhMt.png)

## Create components or folders

Context: Arcweave docs > Project Items > Components > Create components or folders

### At section top

Context: Arcweave docs > Project Items > Components > Create components or folders > At section top

To create a new component or folder at the top of the **Components** section:

- Go to the header of the **Components** section.
- Click **Create component** (**+** icon) or **Create folder** (**folder** icon).

### At section bottom

Context: Arcweave docs > Project Items > Components > Create components or folders > At section bottom

To create a new component or folder at the bottom of the **Components** section:

- Right-click on an empty area of the **Components** section.
- Select **Create component** or **Create folder** from the menu.

### Above existing component

Context: Arcweave docs > Project Items > Components > Create components or folders > Above existing component

To create a new component or folder above an existing component in the **Components** section:

- Right-click on the existing component's name.
- Select **Create component** or **Create folder** from the menu.

Or:

- Hover the mouse cursor over the existing component's name.
- Click on the **(+) icon** that appears.
- Select **Create component** or **Create folder** from the menu.

### Inside existing folder

Context: Arcweave docs > Project Items > Components > Create components or folders > Inside existing folder

To create a new component or folder inside an existing folder:

- Right-click on the existing folder's name.
- Select **Create component** or **Create folder** from the menu.

Or:

- Hover the mouse cursor over the existing folder's name.
- Click on the **(+) icon** that appears.
- Select **Create component** or **Create folder** from the menu.

## Delete components or folders

Context: Arcweave docs > Project Items > Components > Delete components or folders

To delete a component or folder:

- Right-click on its name, on the **Components** section.
- Select **Delete**.

> ⚠️ Deleting a component folder will also delete all its contents. You can undo the action.

> ℹ️ When deleting a component, all [mentions](https://docs.arcweave.com/project-tools/mentions) and references of this component will be removed as well.

## Rename components or folders

Context: Arcweave docs > Project Items > Components > Rename components or folders

To rename a component or folder:

- Right-click on its name on the **Components** section.
- Select **Rename** from the menu.

You can also rename a component while [editing](https://docs.arcweave.com/project-items/components#edit-components) it.

## Duplicate components or folders

Context: Arcweave docs > Project Items > Components > Duplicate components or folders

To duplicate a component or folder:

- Right-click on its name on the **Components** section.
- Select **Duplicate**.

Duplicating a folder also duplicates all the components and folders it contains.

## Copy a component link

Context: Arcweave docs > Project Items > Components > Copy a component link

Select **Copy link** from any of these menus:

- Right-click the component in the sidebar's **Components** section.
- Open the component and click the **three-dot (•••)** menu in its header.
- Right-click a component reference attached to an element or included in a **Component List** attribute.

Opening the link opens the component's dialog in the language active when you copied it. A reference's link opens the referenced component. Component folders and unsaved components do not have this action.

See [Share an item or board position](https://docs.arcweave.com/project-tools/share#share-an-item-or-board-position) for access requirements. People with read-only board access can also copy component links.

## Mention components

Context: Arcweave docs > Project Items > Components > Mention components

You can create links to your components while editing rich text in elements, notes, attributes, and labels. This kind of link is called a [mention](https://docs.arcweave.com/project-tools/mentions) and you initiate it by typing the character `@` followed by a component name.

> ℹ️ You can also mention [boards](https://docs.arcweave.com/project-items/boards#mention-boards).

## Edit components

Context: Arcweave docs > Project Items > Components > Edit components

To open a component for editing, find it in the list of your components and click on its name or thumbnail.

Each component consists of a **name**, a **custom ID**, a **cover image**, and a set of **attributes**.

![An open component storing a magical spell, with the component's attributes storing the spell's stats and specs.](https://docs.arcweave.com/assets/components-intro.BKzGX-79.jpg)

In the screenshot of the above example, we see how a spell can be stored as a component, with its stats (level, range, description, etc.) stored as attributes.

### Name

Context: Arcweave docs > Project Items > Components > Edit components > Name

To rename a component, click on its name field, or choose **Rename** from the **three-dot (•••)** header menu to select the field for editing.

You can also [rename a component](https://docs.arcweave.com/project-items/components#rename-components-or-folders) from the **Components** section.

### Custom ID

Context: Arcweave docs > Project Items > Components > Edit components > Custom ID

Every component has a custom ID, generated from its name. This ID scopes the component's [variables](https://docs.arcweave.com/project-items/variables/component). For example, an attribute with custom ID `health` on a component with custom ID `hero` is available in Arcscript as `hero.health`.

Select the custom ID beneath the component name to edit it, or choose **Edit Custom ID** from the **three-dot (•••)** header menu to select the field. It cannot be removed, must be unique across all components and boards, and must follow the [variable naming rules](https://docs.arcweave.com/project-items/variables/overview#variable-names-and-custom-ids). Renaming it updates existing Arcscript references automatically.

### Cover

Context: Arcweave docs > Project Items > Components > Edit components > Cover

To change a component's cover image:

1. Hover the mouse cursor over the image.
2. Click on **Change cover**.
3. Select an image from the **My Assets** tab, or an icon from the **Icon Library** tab. You can also generate a cover in the **Generate** tab; see [Image Generator](https://docs.arcweave.com/project-tools/ai-features/image-generator#use-from-components).

Alternatively, you can drag and drop an image asset from the sidebar into the component cover area.

> ✅ An asset will also be created and attached to a component as cover when dropping an image file from your drive or browser at the top area of the component (while in component edit mode).

> ⚠️ [Video assets](https://docs.arcweave.com/project-items/assets/video) cannot be used as component covers.

### Component attributes

Context: Arcweave docs > Project Items > Components > Edit components > Component attributes

Like [boards](https://docs.arcweave.com/project-items/boards), components can hold the following attribute types:

- String Field
- Boolean
- Integer
- Float
- Rich Text Field
- Component List
- Asset List

Component folders cannot contain attributes.

String Field, Boolean, Integer, and Float attributes are [component variables](https://docs.arcweave.com/project-items/variables/component). See [Attributes](https://docs.arcweave.com/project-items/attributes) for more details about attributes that do not act as variables.

To [add](https://docs.arcweave.com/project-items/attributes#create-attributes), [edit](https://docs.arcweave.com/project-items/attributes#edit-attributes), or [remove](https://docs.arcweave.com/project-items/attributes#delete-attributes) a component's attributes, see the **Attributes** page.

## Component properties

Context: Arcweave docs > Project Items > Components > Component properties

To access a component's properties:

1. Right-click the component in the **Components** section.
2. Select **Properties**.

The component Properties panel displays the following information:

### Component ID

Context: Arcweave docs > Project Items > Components > Component properties > Component ID

Each component has a **unique identifier** in the form of:

`81a30674-aa09-4eb8-8484-59298d37f984` (version 4 UUID)

Click the **clipboard icon** to copy the component ID.

Component IDs are useful when working with the project's [JSON](https://docs.arcweave.com/integrations/json) or integrating Arcweave with external tools and game engines.

The UUID is different from the component's editable [custom ID](https://docs.arcweave.com/project-items/components#custom-id), which is used as an Arcscript variable scope.

### Words and characters

Context: Arcweave docs > Project Items > Components > Component properties > Words and characters

The component properties panel displays the component's word and character counts.

These counts include the component name and the values of its String Field and Rich Text Field attributes.

## Component references

Context: Arcweave docs > Project Items > Components > Component references

Arcweave provides easy access to a component's **references**: the elements it is attached to, the Component List attributes that include it, and the element content, labels, notes, and attributes that mention it.

To access a component's references:

1. Right-click the component in the **Components** section.
2. Select **References**.

![Arcweave's project environment. The Components context menu (revealed by right-clicking a component) is open, and an orange rectangle is emphasizing the References option.](https://docs.arcweave.com/assets/components-references-menu.DiFh2db9.png)

In the modal that opens, you will see all references of the component in elements, components, connection labels, and notes.

![Arcweave's project environment. The Components reference modal is open, showing the references of a component.](https://docs.arcweave.com/assets/components-references-modal.DwF8QVD7.png)

To visit any of the referenced elements or components, **click on the reference**.

> ✅ Use the modal's left sidebar to view all references or to filter the ones in elements, components, labels, or notes.

## Attach to elements

Context: Arcweave docs > Project Items > Components > Attach to elements

You can also attach components to elements. To do this:

1. Go to your **Components** section on the sidebar.
2. Drag the component of your choice and drop it inside the element of your choice.

![Animated GIF demonstrating how to attach a component to an element and then how to remove the attachment.](https://docs.arcweave.com/assets/drag-component.1SxFaBei.gif)

Use this feature to **create a visual reference** to the component during a plot point or dialogue beat and to **easily access** the component—just click on the attachment and the component will open.

To share the attached component, right-click its reference on the board and select **Copy link**. See [Copy a component link](https://docs.arcweave.com/project-items/components#copy-a-component-link).

> ℹ️ The attached components of an element also render on Play Mode.

Drag and drop attached components to **reorder** them inside an element or to **move them** from one element to another.

To **remove** an attached component, drag and drop it from the element to an empty area of the board.

> ℹ️ Removing a component from an element simply removes the reference and does not delete the component.
