# Overview

Welcome to the Roomle Content Creation documentation. This guide introduces the process and concepts behind creating interactive 3D product configurators using the Roomle Rubens platform.

## Asset Types in Roomle

To build a configurator, you will work with three main types of assets:

![Asset Types](/files/mQqsxHTqzNuNQzL2t34T)

**Component Definitions with RoomleScript (Logic)**

* JSON-based definitions that describe how a product can be configured.
* Contain parameters, rules, and RoomleScript logic to control geometry, materials, and product behavior.
* Component definitions are the core of Level 3 configurators, enabling interactive and parametric products.

**Textures (Materials):**

* Images and material definitions that give your models color, surface detail, and realism.
* Materials are uploaded and managed in Rubens Admin, and can be mapped to meshes in your components.

**Geometry (Meshes):**

* 3D models representing the shape of your products.
* Created in 3D modeling tools (like Blender) and imported into the Rubens Admin platform.
* For Level 1 (Model Viewer), uploading a mesh is sufficient to visualize a product.

## Content Creation Levels

Roomle supports several levels of content creation, each building on the previous:

* **Level 1: Model Viewer**
  * The simplest form: upload a mesh in Rubens Admin to visualize a static 3D model -> [Learn more](/rubens/rubens-admin/help/products.md#create-a-static-product).
* **Level 2: Material Configurator**
  * Allows users to change colors or finishes, but does not support advanced logic or parametric geometry.
  * Upgrade a Level 1 model by adding materials and simple parameters in Rubens Admin -> [Learn more](/rubens/quick-start-guides/convert-your-static-product-into-a-material-configurator.md)
  * Create Level 2 configurators from scratch -> [Learn more](/rubens/content-creation/scripting-resources/150_10_lvl2_intro.md).
* **Level 3: Product Configurator**
  * Combines geometry, textures, and logic in component definitions.
  * Enables full configurability and feature set of the Roomle Rubens Configurator: users can change dimensions, select options, and see the product update in real time.
  * Requires writing RoomleScript and structuring component definitions to describe all possible configurations.
  * [Learn in the Scripting Course](/rubens/content-creation/scripting-resources.md)
  * [Configurator Features Overview](/rubens/content-creation/roomlescript-reference/configurationformat.md)
  * [RoomleScript Language Reference](/rubens/content-creation/roomlescript-reference/roomlescript-language-reference.md)
  * [Built-in Functions Reference](/rubens/content-creation/roomlescript-reference/roomlescript-built-in-functions.md)

## Workflow Overview

**Create Components:**

* Set up Visual Studio Code with the Roomle Component Tool Extension to write component definitions -> [Learn more](/rubens/content-creation/scripting-resources/100_10_setup.md) and learn the features of the extension -> [Learn more](https://marketplace.visualstudio.com/items?itemName=Roomle.roomletool).
* Create component definitions that reference your meshes and materials -> [Learn more](/rubens/rubens-admin/help/components.md).
* Add parameters and RoomleScript logic to enable configuration -> [Learn more](/rubens/content-creation/scripting-resources/200_20_componentdefinitionbasics.md).
* Link the meshes with materials from Rubens Admin to your component definitions -> [Learn more](/rubens/content-creation/scripting-resources/200_100_meshes.md#addexternalmesh) or create geometry from primitives, prisms and CSG operations -> [Learn more](/rubens/content-creation/roomlescript-reference/configurationformat.md#geometry-object-functions)

**Set Up Materials:**

* Create and upload material definitions and textures in Rubens Admin -> [Learn more](/rubens/rubens-admin/help/materials.md).

**Prepare 3D Models:**

* Get the Roomle Blender Addon -> [Learn more](/rubens/content-creation/blender-addon.md)
* Model your product in a 3D tool and export it in a supported format using our Roomle Blender plugin -> [Learn more](/rubens/content-creation/scripting-resources/150_20_lvl2_mesh.md).
* Import the meshes into Rubens Admin -> [Learn more](/rubens/rubens-admin/help/meshes.md).

## Integration

Once the content is ready, the next step is to integrate it into your website or application -> [Learn more about integration](/rubens/rubens-products/rubens-configurator/integration.md).


---

# 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.roomle.com/rubens/content-creation/overview.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.
