Em comparação com UIListLayout, UIGridLayout e UITableLayout permitem layouts mais estruturados e organizados. Estes são mais apropriados para interfaces como um inventário de loja, onde cada item pode ser apresentado em uma grade de azulejos de tamanho igual, ou itens podem ser organizados em linhas/colunas relacionadas.
Layout de grade
UIGridLayout posiciona GuiObjects irmãos em uma grade de células uniformes do mesmo tamanho dentro de seu contêiner pai. As células são adicionadas por linha ou coluna com base na FillDirection do layout até que a próxima célula não caiba, então uma nova linha ou coluna começa. Para um controle adicional, você pode usar a propriedade FillDirectionMaxCells para definir o número máximo de células por linha ou coluna.


Por padrão, UIGridLayout posiciona GuiObjects irmãos em ordem de sua LayoutOrder onde valores mais baixos vêm antes de valores mais altos, e valores iguais são organizados dependendo da ordem em que foram adicionados. Se você mudar o SortOrder do layout para Enum.SortOrder.Name, os irmãos são organizados em ordem alfabética.
Layout de tabela
UITableLayout posiciona GuiObjects irmãos e seus filhos em formato de tabela. A FillDirection padrão de Vertical significa que os irmãos são primeiramente posicionados em linhas, e os filhos desses irmãos são posicionados horizontalmente para formar colunas, de tal maneira que cada célula dentro de uma linha tenha a mesma altura e cada célula dentro de uma coluna tenha a mesma largura.


Esse padrão imita a estrutura padrão de linha/coluna do HTML:
<table><tbody><tr><!-- Linha 1 --><td>Rótulo 1</td> <!-- TextLabel1 --><td>Rótulo 2</td> <!-- TextLabel2 --><td>Rótulo 3</td> <!-- TextLabel3 --></tr><tr><!-- Linha 2 --><td>Rótulo 4</td> <!-- TextLabel4 --><td>Rótulo 5</td> <!-- TextLabel5 --><td>Rótulo 6</td> <!-- TextLabel6 --></tr><tr><!-- Linha 3 --><td>Rótulo 7</td> <!-- TextLabel7 --><td>Rótulo 8</td> <!-- TextLabel8 --><td>Rótulo 9</td> <!-- TextLabel9 --></tr></tbody></table>
A menos que você ative as propriedades FillEmptySpaceColumns ou FillEmptySpaceRows do layout, o tamanho dos GuiObjects irmãos determina as dimensões das células. Por exemplo, um TextLabel de tamanho UDim2.new(0.25, 0, 0.1, 0) criará uma célula de tabela de 25% de largura e 10% de altura dentro do contêiner pai.