Flexbox support for Unity UI using the Yoga layout engine.
FlexLayout
only lays out children that also have a FlexLayout
component, so you can still use anchors and other Layout Elements where necessary.This package is available on the openupm registry and can be installed using the openupm-cli:
openupm add com.gilzoide.flex-ui
Otherwise, you can install directly using the Unity Package Manager with the following URL:
https://github.com/gilzoide/unity-flex-ui.git#1.1.1
FlexLayout
component to the UI object that will layout its descendants (children, grandchildren, etc...)FlexLayout
components to the descendants that will be layed out by the root FlexLayout
s.All properties can be set in the Inspector as well as by code and the layout will be automatically refreshed. You can set several values in code and the layout will be calculated only once per frame.
To learn more about the properties supported by FlexLayout
, check out the Yoga documentation in the "Properties" section: https://yogalayout.dev/docs
You can also set the layout engine configurations by creating FlexLayoutConfig
assets and setting them to FlexLayout
's "Configuration" property.
These configurations include toggling of experimental features and controlling how Yoga rounds floating point values using the "Point Scale Factor" property.