> For the complete documentation index, see [llms.txt](https://community.threekit.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://community.threekit.com/platform-documentation/catalog-2.0-docs/project-data/assets/nodes/layout-containers.md).

# Layout Containers

**Modular and spatial configurator** physical constraints can now be setup easily in platform using new **Layout Container** nodes to build Room Builder like interactions in the Threekit Player:

* Item Selection and highlighting
* Item positioning/dragging
* Positioning constraints

![](/files/Ztolfm9ReoV4trRqahkT)

Layout Container nodes control for movement constraints, selectability of elements, and outline styling.

**Layout Container Node**

Layout Container nodes can be added in the scene using the new toolbar icon or the right-click menu in the Scene Tree:

![](/files/6X5aXGaBasblh4CfWuIe)

<img src="/files/XPejhkY8HSy0nbvgJQNI" alt="" width="443">

To enable dragging, use the **Container Meshes reference** field to reference existing node(s) within he asset to act as dragging constraints. In this example, there is a Plane node representing a floor so that elements cannot be moved beyond it:

<img src="/files/tuxS9ARBE8F7Zv3NihbJ" alt="" width="551">

**Selection color & thickness**

Layout Containers contain overrides for the default Selection Highlight Color and Outline Thickness as Operators in the Selection section:

<img src="/files/S4K0bs5rnmBcUHEfZ56l" alt="" width="531">

<img src="/files/srL2uAuP5YIP7tenz5j8" alt="" width="528">

Then, models can be imported into the asset and made children of the Layout Container in order to be constrained to the Floor Plane:

<img src="/files/eWOiHOL8SfJWmFsInMI6" alt="" width="447">

In the example above, there are multiple Layout Container nodes to produce Floor and Wall constraints.&#x20;

**Props & immovable objects**

Props, or unselectable/immovable, elements can be added to the asset simply by placing the outside of layout containers.&#x20;

#### Selectable components

Want to make components of a product selectable in the Player? Layout Container nodes can also be used to make children nodes selectable without any movement. Simply leave the **Container Meshes** reference blank and all children will still be selectable in the player.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://community.threekit.com/platform-documentation/catalog-2.0-docs/project-data/assets/nodes/layout-containers.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
