{"id":25759214,"url":"https://github.com/matthijsmud/extra-unity-ui-components","last_synced_at":"2026-05-16T11:04:03.662Z","repository":{"id":133506314,"uuid":"489101807","full_name":"MatthijsMud/Extra-Unity-UI-Components","owner":"MatthijsMud","description":"Extra components for use with Unity's UI (`uGUI`)","archived":false,"fork":false,"pushed_at":"2022-05-06T09:23:58.000Z","size":7,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-11T00:32:04.829Z","etag":null,"topics":["grid-layout","unity","unity-ui"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MatthijsMud.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-05-05T19:28:57.000Z","updated_at":"2025-03-04T03:05:13.000Z","dependencies_parsed_at":null,"dependency_job_id":"b06154c9-2894-4075-9bad-49dc6b6f9485","html_url":"https://github.com/MatthijsMud/Extra-Unity-UI-Components","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/MatthijsMud/Extra-Unity-UI-Components","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MatthijsMud%2FExtra-Unity-UI-Components","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MatthijsMud%2FExtra-Unity-UI-Components/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MatthijsMud%2FExtra-Unity-UI-Components/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MatthijsMud%2FExtra-Unity-UI-Components/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MatthijsMud","download_url":"https://codeload.github.com/MatthijsMud/Extra-Unity-UI-Components/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MatthijsMud%2FExtra-Unity-UI-Components/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33100319,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-16T04:41:52.686Z","status":"ssl_error","status_checked_at":"2026-05-16T04:41:52.009Z","response_time":115,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["grid-layout","unity","unity-ui"],"created_at":"2025-02-26T17:28:25.833Z","updated_at":"2026-05-16T11:04:03.652Z","avatar_url":"https://github.com/MatthijsMud.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Extra [Unity UI][ugui] components\n\nThe Unity UI package provides a decent range of components that can be used for creating a graphical user interface. Quite complicated interfaces can easily be created between various visual and interactive components, as well as components used to create dynamic layouts.\n\nSome designs might however benefit from a component or two that is provided by default. This repository contains a selection of components that might help with make those designs a reality.\n\n## `FlexibleGridLayoutGroup`\n\nUnity UI does provide a component for laying out UI elements in a grid - `GridLayoutGroup` - but that component is a tad limited in its uses. This due to it ignoring practically all properties of any `ILayoutComponent` its \"cells\" might have.\n\nThe `GridLayoutGroup` assigns each cell the same width and height. This could end up smaller than its `minWidth`/`minHeight`. Also, the space available to the grid is hardly used, despite some cells potentially benefitting from it (such long lines of text).\n\n`FlexibleGridLayoutGroup` is intended as an improvement that does take the **minimum**, **preferred**, and **flexible** size of its cells into account. \n\nThe **minimum**, **preferred**, and **flexible** size of each **column** and **row** is based on the the highest respective property; `width` based for **columns**, `height` for **rows**. Any amount of space available to the grid is \n\n1. Allocate each **row** and **column** its minimum `width` and `height`, based on respectively the widest element in the **column** and heighest element in the **row**\n1. A portion of the remaining space (if any) is allocated to each **column** and **row** based on how much their **preferred** size contributed to the grid **preferred** size (compared to **minimum** size), up until they reach their preferred size.\n1. Any **columns** and **rows** that have a **flexible** size other than `0` share the remaining amount of space in a ratio based on their **flexible** size.\n\n\n### Options\n\n| Property  | Default  | Description | \n|-----------|----------|-------------|\n| `spacing` | `0`, `0` | Amount of pixels between each column (`x`) and row (`y`). |\n| `columns` | `1` | Number of columns in the grid. Rows are automatically generated based on this value and the number of cells. |\n\n\n### Known issues\n\n- No known issues\n\n[ugui]: https://docs.unity3d.com/Packages/com.unity.ugui@1.0/manual/index.html","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatthijsmud%2Fextra-unity-ui-components","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmatthijsmud%2Fextra-unity-ui-components","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmatthijsmud%2Fextra-unity-ui-components/lists"}