# Uploading your own virtual objects

## Overview

A virtual object is any in-world item that is not a full Region or clothing item. Common virtual objects include [chairs](https://docs.breakroom.tech/advanced-tutorials/uploading-your-own-region/creating-and-uploading-custom-chairs) and other pieces of furniture, avatar animations, and 3D models (such as a company logo). Once these items are uploaded to your World, you can deploy them through the use of the [Region Editor](https://docs.breakroom.tech/creating-custom-experiences/using-the-region-editor) and other means.

{% hint style="info" %}
Within our advanced documentation, you may see different words used to describe the same concept or tool. This is because Breakroom is based on the Sinespace virtual world platform. Please be aware of the following:

* When you [install](https://docs.breakroom.tech/advanced-tutorials/uploading-your-own-region/installing-unity-and-the-breakroom-sdk) the Breakroom SDK, you may notice that certain tools and menus refer to *Sinespace, Sinespace components,* or the *Sinespace SDK*. This is normal and has no effect on performance.
* When testing and uploading virtual items, you may see documentation, menus, and buttons that refer to Breakroom Worlds as *grids*.
  {% endhint %}

{% hint style="info" %}
The instructions provided in this section presume an advanced working knowledge of Breakroom, virtual assets, and third-party 3D software. Please consult our documentation if you need help [installing](https://docs.breakroom.tech/creating-custom-experiences/using-the-region-editor) and [positioning](https://docs.breakroom.tech/creating-custom-experiences/using-the-region-editor/editing-and-moving-objects) virtual objects, or editing the [RoomFurniture component](https://docs.breakroom.tech/running-your-event/customizing-the-conference-system-components/the-roomfurniture-component).
{% endhint %}

{% hint style="warning" %}
Only [World Owners, World Administrators, and World Developers](https://docs.breakroom.tech/opening-the-doors/creating-and-managing-user-accounts/world-level-user-permissions) can upload custom items to Breakroom.
{% endhint %}

## Import or create your virtual object in Unity

In order to follow the steps outlined below, you must already have Unity and the Breakroom SDK [installed](https://docs.breakroom.tech/advanced-tutorials/uploading-your-own-region/installing-unity-and-the-breakroom-sdk) on your computer.

### Merging items in Unity

<figure><img src="https://1679086873-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5gOE0ivmDtuXfHroTVSx%2Fuploads%2FalIEx338E3HoxSeKPett%2FObjects_001.png?alt=media&#x26;token=f30b71a5-ed04-4c8e-98b9-60d74308e14f" alt=""><figcaption><p>Pictured: An example object—a globe on top of a cube.</p></figcaption></figure>

As an example object, let's take a look at the globe sculpture pictured above. It consists of two items—a sphere placed on top of a cube. To merge these two items into a single item and upload it to your World, first right click on an empty area in the **Hierarchy panel** and select **Create Empty** in the menu that appears. Rename this object to something meaningful—for example, "My First Object."

Now drag the cube and the sphere into this object.

<figure><img src="https://1679086873-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5gOE0ivmDtuXfHroTVSx%2Fuploads%2F8YyMiQBVVHYi3Q34yxs0%2FObjects_002.png?alt=media&#x26;token=f12edf53-fa6d-466a-b8df-45a328614f0a" alt=""><figcaption><p>Pictured: The original sphere and cube items, now merged under "My First Object."</p></figcaption></figure>

### Turning your item into a virtual good

<figure><img src="https://1679086873-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5gOE0ivmDtuXfHroTVSx%2Fuploads%2F6qP48J26QzOFpxKK3iFD%2FObjects_003.png?alt=media&#x26;token=679a9b6b-a215-431b-9540-bbf92f4b157b" alt="" width="563"><figcaption><p>Pictured: The Sinespace menu, with the Virtual Goods sub-menu expanded.</p></figcaption></figure>

Click on **My First Object** to highlight it, and then click on the **Sinespace menu** and navigate to **Virtual Goods > Turn selection into furniture.** Clicking this action will convert your object into a virtual good that can be uploaded to your World. You do not need to alter the Room Furniture component that was just added.

<figure><img src="https://1679086873-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5gOE0ivmDtuXfHroTVSx%2Fuploads%2FBt0EiRVhEiM59AKRM3Yx%2FObjects_004.png?alt=media&#x26;token=19dc97cd-59a5-4927-a8f5-826a74e8f7d7" alt=""><figcaption><p>Pictured: "My First Object," with the Virtual Good and Room Furniture components added.</p></figcaption></figure>

## Editing the Virtual Good component

Scroll down to the **Virtual Good component**. To complete setup of your item, you'll need to navigate through the Virtual Good component tabs and change certain information. Here are the key steps you'll need to take.

### 1. Provide basic item information

<figure><img src="https://1679086873-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5gOE0ivmDtuXfHroTVSx%2Fuploads%2FjrJaCMfKpSuMO55Ef1SQ%2FObjects_005.png?alt=media&#x26;token=abf1ce45-b800-4ece-98c6-ec01868b9520" alt="" width="458"><figcaption><p>Pictured: The Virtual Good component, with the Basic tab active. Note that the item type is set to <em>Furniture</em>.</p></figcaption></figure>

In the Virtual Good component, under the **Basic tab**, you will need to select the item type and category. The category you select will influence where your item appears in your Inventory.

There are additional details under the Basic tab that you'll need to provide:

* Name: The item's name
* Description: A brief description of the item
* Brand: Your brand name (corporate clients may want to use their company name)

### 2. Edit the item details

<figure><img src="https://1679086873-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5gOE0ivmDtuXfHroTVSx%2Fuploads%2FaXIw1MWiarb5AB9uOJeF%2FObjects_006.png?alt=media&#x26;token=273d5bb6-84fc-4d46-a069-1b38e9707ab2" alt="" width="455"><figcaption><p>Highlighted: The Inworld Customization setting, under the Detail tab. This must be set to <em>Full</em>.</p></figcaption></figure>

Next, click on the **Detail tab**. The settings listed under this tab are optional, and usually can be left in their default state—except for the **Inworld Customization setting**. You will need to set this to *Full*.

### 3. Edit the Pricing information

<figure><img src="https://1679086873-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5gOE0ivmDtuXfHroTVSx%2Fuploads%2FFhhJSfXutpx26Q9PMtid%2FObjects_007.png?alt=media&#x26;token=1a223d6c-f352-4a47-abe8-61af570cb184" alt=""><figcaption><p>Pictured: The Pricing tab, with the "Not for Sale" option checked.</p></figcaption></figure>

Next, click on the **Pricing tab**. Check the box to enable the "Not for Sale" option.

### 4. Edit the Icons information

You can skip the Icons tab, as this is only used if the item will be sold in the Sinewave Shop.

### 5. Edit the Author information

<figure><img src="https://1679086873-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5gOE0ivmDtuXfHroTVSx%2Fuploads%2FafPGMlYlOIK8zkA9AIhs%2FObjects_008.png?alt=media&#x26;token=29f6b5a0-d24b-498e-9d75-723d4b68c486" alt=""><figcaption><p>Pictured: The Author tab, where you can specify creation details about your item.</p></figcaption></figure>

Click on the **Author tab**. Fill in the details that best suit your upload. If in doubt, leave the item's **Unique Status** as *Available Elsewhere*, edit the **Developer's Name field** to include your name, and edit the **Copyright field** to include your company name.

### 6. Edit the Upload information

<figure><img src="https://1679086873-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5gOE0ivmDtuXfHroTVSx%2Fuploads%2FOj1lD0DwhmiAICIxE68r%2FObjects_009.png?alt=media&#x26;token=338da61c-353a-4491-9c47-fa6fd04a4854" alt="" width="458"><figcaption><p>Pictured: The Upload tab, with the Grid ID field highlighted.</p></figcaption></figure>

Lastly, click the **Upload tab**. In the **Grid ID field,** enter your Breakroom World's unique grid ID number. There are multiple places where you can obtain your grid ID number.

**Finding your grid ID on Dashboard**

1. Navigate to your [Dashboard](https://docs.breakroom.tech/building-new-worlds/breakroom-dashboard-tour).
2. Look in the top left corner of the screen. You will see your world name followed by an ID number. This ID number is your grid ID.

**Finding your grid ID on Curator**

1. Navigate to your[ Dashboard](https://docs.breakroom.tech/building-new-worlds/breakroom-dashboard-tour).
2. Click the **Advanced button** at the top of the page. This will take you to Curator.
3. In the Curator window that appears, locate the **Grid listing** for your World. Your grid ID will be displayed next to the World name.

<figure><img src="https://1679086873-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5gOE0ivmDtuXfHroTVSx%2Fuploads%2Fhmks2jloNF84Bgf4ONDM%2FObjects_010.png?alt=media&#x26;token=415835ee-b18e-48fa-96cd-25a71de8f710" alt=""><figcaption><p>Highlighted: The location of your grid ID in Curator.</p></figcaption></figure>

Once you have your grid ID, it can be entered into the **Grid ID field** under the **Upload** **tab** as shown.

## Converting your item to a Unity prefab

Create a new folder in your Unity project by right clicking on the Project Assets panel. Call this folder "**Uploads**," and double click on it.

<figure><img src="https://1679086873-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5gOE0ivmDtuXfHroTVSx%2Fuploads%2FKsiH7IAX8snNGh986jcj%2FObjects_011.png?alt=media&#x26;token=73515ea8-b26e-4788-be8a-254f73c1fbf5" alt="" width="563"><figcaption><p>Pictured: How to create a new folder in your Unity project.</p></figcaption></figure>

Now drag the parent object from the Hierarchy to the "Uploads" folder in the **Project panel.**

<figure><img src="https://1679086873-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5gOE0ivmDtuXfHroTVSx%2Fuploads%2FhU1RvsOYKpi5aubb6CUe%2FObjects_012.gif?alt=media&#x26;token=fc2326da-62eb-40ed-b2b2-755d4f4da7f9" alt=""><figcaption><p>Pictured: Dragging the parent object from the Hierarchy into the "Uploads" folder.</p></figcaption></figure>

Next, right click on this new prefab object and select **Upload to Sinespace** in the menu that appears.

<figure><img src="https://1679086873-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5gOE0ivmDtuXfHroTVSx%2Fuploads%2FV1DEbjr7d7CZuXGGrK9F%2FObjects_013.png?alt=media&#x26;token=945e3d80-1857-42eb-953f-05a77827a6a7" alt="" width="563"><figcaption><p>Pictured: The location of the Upload to Sinespace action.</p></figcaption></figure>

Finally, confirm the upload.

<figure><img src="https://1679086873-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F5gOE0ivmDtuXfHroTVSx%2Fuploads%2FifMI4QKTLMV73ePDMgY0%2FObjects_014.png?alt=media&#x26;token=a8fa8046-d1ab-4510-95d1-246f6b0510b1" alt=""><figcaption><p>Confirm the upload by clicking the Upload Item button.</p></figcaption></figure>

You will be asked to save the scene before the upload can proceed. We do recommend saving, as you may have other items in the scene and this will make editing easier in the future.

## Completing your upload

For your next steps, you'll want to test your item on the [preview server](https://docs.breakroom.tech/advanced-tutorials/uploading-your-own-region/testing-items-on-the-preview-server) and then push it to the[ live server](https://docs.breakroom.tech/advanced-tutorials/uploading-your-own-region/pushing-items-to-the-live-server). Detailed instructions can be found in the linked documentation.
