> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.sayduck.com/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Configurator - What & How to use?

**Configurator** is a product that consist of many **Configurations** with each their own **Variants**.

![](https://storage.crisp.chat/users/helpdesk/website/cae6f284ce714800/screenshot-2022-08-19-at-12415_1qmecvr.png)

Each **Variant** has its own **3D Scene** that combines to create one **3D scene** displayed in the 3D viewer.

![](https://storage.crisp.chat/users/helpdesk/website/cae6f284ce714800/screenshot-2022-08-30-at-92326_9d4a3t.png)

### What are Configurations?

**Configurations** are containers that separate your **Variants**.  They allow you to update only a specific part of your product.

![](https://storage.crisp.chat/users/helpdesk/website/cae6f284ce714800/screenshot-2022-08-17-at-15000_jbd2a7.png)

### What are Variants?

**Variants** are the options in each of your  ** Configurations **. Each of them has its own **3D scenes**. 

![](https://storage.crisp.chat/users/helpdesk/website/cae6f284ce714800/screenshot-2022-08-30-at-92326_9d4a3t.png)

Changing a **Variant** will load a new **3D scene** which updates that part of your product.

![](https://storage.crisp.chat/users/helpdesk/website/cae6f284ce714800/screenshot-2022-08-30-at-93035_1a6w3t5.png)

# How to build a Configurator?

Building a **Configurator** is like building any other product. The only difference is that you will be editing many **3D Scenes** in the same product.

**Basic configurator guide: Tutorial product**

${youtube}[](kehL6-69x-Q)

**Advanced configurator guide: Sofa configurator**

${youtube}[](XZP4KLG3qH4)

### Sub-configurations

**Sub-configurations** are used to categorise **Variants** within a **Configuration** to their own selections/dropdown menus.

When selected, another dropdown will be added with the **Variant** option within that **Sub-configuration**.

|| Sub-configurations are obsolete if you are building a custom picker

![](https://storage.crisp.chat/users/helpdesk/website/cae6f284ce714800/sub-configuration-viewer_1pplk10.png)

###### How to add a sub-configuration?

To add a **Sub-configuration**, click on the highlighted icon.

![](https://storage.crisp.chat/users/helpdesk/website/cae6f284ce714800/sub-configuration-editor_guoi9g.png)

### Transfer to another configuration

Drag and drop a **Node**, **Group** or **Annotation** to a Variant.

![](https://storage.crisp.chat/users/helpdesk/website/cae6f284ce714800/transfernode_plfg0l.gif)

###### Drag & drop Variant to sub-configuration

You can assign a Variant to a sub-configuration by drag and drop.

![](https://storage.crisp.chat/users/helpdesk/website/cae6f284ce714800/imagevyzoz_1fm9w72.png)

### Optional configurations

**Optional** is used to disable/hide a configuration from the initial load.

![](https://storage.crisp.chat/users/helpdesk/website/cae6f284ce714800/optional-viewer-view_1ewf8sb.png)

###### How to add Optional to a configuration?

To add Optional, select a Configuration and check the **Optional** box.

![](https://storage.crisp.chat/users/helpdesk/website/cae6f284ce714800/optional-platform-view_1e35wtx.png)

###### Using an empty variant

The same effect can be done by adding an empty variant as the first option. This will offer more flexibility as the empty scene does not need to be the first choice.

![](https://storage.crisp.chat/users/helpdesk/website/cae6f284ce714800/screenshot-2022-08-19-at-13551_1cthw23.png)

### How to remove models from AR view?

**Ignore in AR** is used to remove **Nodes** within a **Configurator** from AR viewer.

###### How to add Ignore in AR?

To add **Ignore in AR**, select a **Configuration** and check the **Ignore in AR** box.

![](https://storage.crisp.chat/users/helpdesk/website/cae6f284ce714800/ignore-in-ar-with-arrows_1dnniw3.png)

###### What should Ignore in AR be used for?

The **Ignore in AR** is used for custom environments, shadow planes and other meshes you do not want to add to AR view.

### Mesh replacement

**Mesh replacement** is a condition you can add to a **Variant** that changes a **Mesh** in the 3D scene to another while the Variant is selected. 

To learn more, check out [Mesh Replacement](/en/article/mesh-replacement-1w2w7pm/)

![](https://storage.crisp.chat/users/helpdesk/website/cae6f284ce714800/screenshot-2022-08-19-at-14210_prh6sp.png) 

### Material replacement

**Material replacement** is a condition you can add to a **Variant** that changes a **Material** in the **3D scene** to another while the **Variant** is selected. 

To learn more, check out [Material Replacement](/en/article/material-replacement-1tebwf0/)

![](https://storage.crisp.chat/users/helpdesk/website/cae6f284ce714800/screenshot-2022-09-02-at-16094_pwpsvr.png)