Creating and uploading custom chairs
In Breakroom, seating isn't just meant to be attractive - it's functional. Learn how to create custom, animated chairs that can interface with Breakroom's gesture and camera systems.

Overview

In order to offer your users a truly unique virtual experience, you may wish to create customized, functional chairs or other seating options. In this documentation we will create an empty game object, import an example chair model into Unity and apply that model to the object, and then add the necessary components to make a cohesive, functional seat item. You can then further customize this completed seat item by integrating it with Breakroom's conference system.
In order to upload custom regions and items, your Breakroom subscription must include a Developer seat. To upgrade your subscription plan, please reach out to our Sales Team.
In order to follow the steps outlined below, you must already have Unity and the Sinespace SDK installed. See here for instructions.

Creating an empty game object

To get started, right click in the Hierarchy window and create an empty game object. Change the transform and rotation values to 0/0/0 in the Inspector window, and rename the object as required. We will use this empty game object as the "container" for Breakroom's Room Furniture and Virtual Good components, which we will install later in this tutorial.
Unity, with the Hierarchy and Inspector windows highlighted. Our game object is called "Chair Demo."

Importing your chair model into Unity

There are two ways you can import the virtual model you want to use for your chair object into Unity.
  1. 1.
    Select the model file on your computer by using the "Import New Asset" function, located within the Assets drop-down menu, and click the Import button.
  2. 2.
    Locate the model file in Windows Explorer, and then drag the model file into the project asset folder directly.
Both FBX or OBJ file types are supported. FBX is the preferred format.
Import New Asset window open, with a model selected.

Adding the chair model to the Hierarchy

Select the chair model file in the project asset folder, and drag it on to the empty game object we previously created in the Hierarchy. Make any needed changes to the position and rotation of the object, and then name the chair (see naming conventions below).
While the chair model is still selected in the Hierarchy window, click the Add Component button located at the bottom of the Inspector window and add a mesh collider. We will use this further on in the tutorial.
Unity, with arrows showing the chair model selected within the Hierarchy window.

Adding the Seat Position component

While your mouse cursor is positioned over the parent game object, right click and create an new empty game object. Name this object "Seat Position." We will use this object as a container for the Seat Position component, allowing us to move the seat animation independently from the chair model in order to make necessary adjustments.
Select the new Seat Position game object. In the Inspector window, click the Add Component button and add the Seat Position component. You will notice a green rectangle appear over the chair model.
Unity, with the Seat Position object highlighted in the Hierarchy.

Adding animations to the chair

Animations can be imported to the project asset folder the same way we imported the chair model. After you import an animation file, ensure the animation is set to "Humanoid animation type" under the Rig tab. Drag the animation file into the Animation slot under the Seat Position component. If different animations are necessary for male and female avatars, you can use the Male/Female animation slots instead and leave the Animation slot empty.
You should now see a wireframe view of the animation appear within the green rectangle.
Animation slots can be found under the Seat Position component.

Making final adjustments

We can now making any final adjustments to the model or animation positions prior to uploading. The wireframe animation gives you an excellent guide for adjusting the overall size of the chair model. Use Unity's movement tools with the Seat Position game object selected to adjust the position of the animation.
Adjusting the size/position of the chair model and the position of the linked animation.

Adding the Room Furniture component

In order to upload the chair object to Breakroom, we will need to add the Room Furniture component. Select the parent game object, and then add the Room Furniture component by clicking the Add Component button located at the bottom of the Inspector window. Breakroom requires that all chair objects be placed on the floor, so check the "Place on Floor" option under the Placement setting.
Finally, select the chair model itself in the Hierarchy and drag it to the Main Collider slot. The chair model contains the mesh collider we installed earlier.
Unity, with relevant portions of the Room Furniture component highlighted.

Adding the Virtual Good component

Next, we will add the Virtual Good component to the parent game object. This is the main settings component for the game object, and contains information such as the item's name, category, inventory image, etc.
Select the parent game object in the Hierarchy, and add the Virtual Good component by clicking the Add Component button located at the bottom of the Inspector window. Pay close attention to the instructions in this component. A red warning icon indicates that required information is missing, while yellow warnings indicate that information is strongly advised, but not required.
For the purposes of this tutorial, we will set the Type to "Furniture," the Category to "Furniture/chair," and give the chair a name and description. We will also give it a brand name and author under the Author tab.
Unity, with relevant portions of the Virtual Good component highlighted.

Prefab and upload

To complete our chair, you will need to drag the parent game object into the project asset window to create a prefab. You can then right click on that prefab and select "Upload to Sinespace" to upload the item.
Drag the parent game object to the project asset window in order to finish fabrication.

Integrating your chair with the conference system

This section is currently under construction. If you have any questions that aren't answered here, please contact our support team.

Useful information

Naming conventions

When integrating chairs into the conferencing system, Breakroom uses a nametag allow/ignore system. For ease of setup, we strongly advise that you institute and follow a simple naming convention. For example, a series of auditorium chairs might be named Auditorium_Chair 1, Auditorium_Chair 2, etc.

Multiple seat bundles

You can upload a group of seats/furniture as a single game object instead of uploading them individually. Just make sure that you follow a naming convention, as explained above.

Allowing for in-world editing

You can allow for furniture to be edited in-world by selecting "Full" under the Inworld Customization option, which is located under the Details tab of the Virtual Good component.
Last modified 5mo ago