# SUILayout

## Index

### Properties Index

| Property Name                                                          |
| ---------------------------------------------------------------------- |
| bool [**Enabled** ](#enabled)`get` `set`                               |
| int [**PaddingLeft** ](#paddingleft)`get` `set`                        |
| int [**PaddingRight** ](#paddingright)`get` `set`                      |
| int [**PaddingTop** ](#paddingtop)`get` `set`                          |
| int [**PaddingBottom** ](#paddingbottom)`get` `set`                    |
| string [**ChildAlignment** ](#childalignment)`get` `set`               |
| float [**Spacing** ](#spacing)`get` `set`                              |
| bool [**ChildControlHeight** ](#childcontrolheight)`get` `set`         |
| bool [**ChildControlWidth** ](#childcontrolwidth)`get` `set`           |
| bool [**ChildForceExpandHeight** ](#childforceexpandheight)`get` `set` |
| bool [**ChildForceExpandWidth** ](#childforceexpandwidth)`get` `set`   |
| SVector [**GridCellSize** ](#gridcellsize)`get` `set`                  |
| SVector [**GridSpacing** ](#gridspacing)`get` `set`                    |
| int [**GridConstraintCount** ](#gridconstraintcount)`get` `set`        |
| string [**GridConstraint** ](#gridconstraintcount)`get` `set`          |
| SGameObject [**GameObject** ](#gameobject)`get`                        |

## Properties

### Enabled

bool **Enabled** `get` `set`

*Is this UI layout component Enabled?*

{% tabs %}
{% tab title="Lua" %}

```lua
Space.Host.ExecutingObject.UILayout.Enabled = false
```

{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="Lua" %}

```lua
--clicking this object will toggle a Layout's Enabled status

thisGameObject = Space.Host.ExecutingObject
layout = Space.Host.GetReference("layout").UILayout 
--make sure to add this reference to the Scripting Runtime component


OnClick = function()
layout.Enabled=  not layout.Enabled
end


thisGameObject.AddClickable()
thisGameObject.Clickable.OnClick(OnClick)
```

{% endtab %}
{% endtabs %}

### PaddingLeft

int **PaddingLeft** `get` `set`

*Space reserved for the left edge of the padding during the layout phase.*

{% tabs %}
{% tab title="Lua" %}

```lua
Space.Host.ExecutingObject.UILayout.PaddingLeft= 2
```

{% endtab %}
{% endtabs %}

### PaddingRight

int **PaddingRight** `get` `set`

*Space reserved for the right edge of the padding during the layout phase.*

{% tabs %}
{% tab title="Lua" %}

```lua
Space.Host.ExecutingObject.UILayout.PaddingRight= 2
```

{% endtab %}
{% endtabs %}

### PaddingTop

int **PaddingTop** `get` `set`

*Space reserved for the top edge of the padding during the layout phase.*

{% tabs %}
{% tab title="Lua" %}

```lua
Space.Host.ExecutingObject.UILayout.PaddingTop= 2
```

{% endtab %}
{% endtabs %}

### PaddingBottom

int **PaddingBottom** `get` `set`

*Space reserved for the bottom edge of the padding during the layout phase.*

{% tabs %}
{% tab title="Lua" %}

```lua
Space.Host.ExecutingObject.UILayout.PaddingBottom= 2
```

{% endtab %}
{% endtabs %}

### ChildAlignment

string **ChildAlignment** `get` `set`

*Property Description*

{% tabs %}
{% tab title="Lua" %}

```lua
Space.Host.ExecutingObject.UILayout.ChildAlignment = "1"
```

{% endtab %}
{% endtabs %}

### Spacing

float **Spacing** `get` `set`

*The spacing to use between layout elements in the layout group.*

{% tabs %}
{% tab title="Lua" %}

```lua
Space.Host.ExecutingObject.UILayout.Spacing= 2
```

{% endtab %}
{% endtabs %}

### ChildControlHeight

bool **ChildControlHeight** `get` `set`

*Returns true if the Layout Group controls the heights of its children. Returns false if children control their own heights.*

*If set to false, the layout group will only affect the positions of the children while leaving the heights untouched. The heights of the children can be set via the respective RectTransforms in this case.*

*If set to true, the heights of the children are automatically driven by the layout group according to their respective minimum, preferred, and flexible heights. This is useful if the heights of the children should change depending on how much space is available. In this case the height of each child cannot be set manually in the RectTransform, but the minimum, preferred and flexible height for each child can be controlled by adding a LayoutElement component to it.*

{% tabs %}
{% tab title="Lua" %}

```lua
Space.Host.ExecutingObject.UILayout.ChildControlHeight= true
```

{% endtab %}
{% endtabs %}

### ChildControlWidth

bool **ChildControlWidth** `get` `set`

*Returns true if the Layout Group controls the widths of its children. Returns false if children control their own widths.*

*If set to false, the layout group will only affect the positions of the children while leaving the widths untouched. The widths of the children can be set via the respective RectTransforms in this case.*

*If set to true, the widths of the children are automatically driven by the layout group according to their respective minimum, preferred, and flexible widths. This is useful if the widths of the children should change depending on how much space is available. In this case the width of each child cannot be set manually in the RectTransform, but the minimum, preferred and flexible width for each child can be controlled by adding a LayoutElement component to it.*

{% tabs %}
{% tab title="Lua" %}

```lua
Space.Host.ExecutingObject.UILayout.ChildControlWidth= false
```

{% endtab %}
{% endtabs %}

### ChildForceExpandHeight

bool **ChildForceExpandHeight** `get` `set`

*Whether to force the children to expand to fill additional available vertical space.*

{% tabs %}
{% tab title="Lua" %}

```lua
Space.Host.ExecutingObject.UILayout.ChildForceExpandHeight= false
```

{% endtab %}
{% endtabs %}

### ChildForceExpandWidth

bool **ChildForceExpandWidth** `get` `set`

*Whether to force the children to expand to fill additional available horizontal space.*

{% tabs %}
{% tab title="Lua" %}

```lua
Space.Host.ExecutingObject.UILayout.ChildForceExpandWidth= false
```

{% endtab %}
{% endtabs %}

### GridCellSize

[SVector](https://docs.breakroom.tech/scripting/client-scripting-api-reference/types/svector) **GridCellSize** `get` `set`

*The size to use for each cell in the grid.*

{% tabs %}
{% tab title="Lua" %}

```lua
Space.Host.ExecutingObject.UILayout.GridCellSize= Vector.New(1,1,0)
```

{% endtab %}
{% endtabs %}

### GridSpacing

[SVector](https://docs.breakroom.tech/scripting/client-scripting-api-reference/types/svector) **GridSpacing** `get` `set`

*The spacing to use between layout elements in the grid.*

{% tabs %}
{% tab title="Lua" %}

```lua
Space.Host.ExecutingObject.UILayout.GridSpacing= Vector.New(1,1,0)
```

{% endtab %}
{% endtabs %}

### GridConstraintCount

int **GridConstraintCount** `get` `set`

*How many cells there should be along the constrained axis.*

{% tabs %}
{% tab title="Lua" %}

```lua
Space.Host.ExecutingObject.UILayout.GridConstraintCount= 2
```

{% endtab %}
{% endtabs %}

### GridConstraint

string **GridConstraint** `get` `set`

*Property Description*

{% tabs %}
{% tab title="Lua" %}

```lua
Space.Host.ExecutingObject.UILayout.GridConstraint = 1
```

{% endtab %}
{% endtabs %}

### GameObject

[SGameObject](https://docs.breakroom.tech/scripting/client-scripting-api-reference/types/sgameobject) **GameObject** `get`

*Property Description*

{% tabs %}
{% tab title="Lua" %}

```lua
theGameObject = Space.Host.ExecutingObject.UILayout.GridConstraint
```

{% endtab %}
{% endtabs %}
