A Unity3D horizontal layout group that supports both left-to-right and right-to-left. Useful if you are building a UI for an RTL language such as Arabic, Persian, Hebrew, etc. or if you support multiple languages in your app.
The component works just like the default HorizontalLayoutGroup. The only difference is the addition of the "reverse" field. When "reverse" is checked, the layout is done from right to left.
Install via Git URLs
Add this git URL in Unity's package manager.
https://github.com/hk1ll3r/BidirectionalHorizontalLayoutGroup
This package is also available on Unity Asset Store.
openupm add com.nosuchstudio.ui.bidirectionalhorizontallayoutgroup
Check out the showcase project to see a sample Unity project that uses this package. https://github.com/hk1ll3r/ShowcaseOfBidirectionalHorizontalLayoutGroup
The implementation is based on Unity's HorizontalLayoutGroup located below. https://bitbucket.org/Unity-Technologies/ui/src/2019.1/UnityEngine.UI/UI/Core/Layout/LayoutGroup.cs
The Left and Right padding fields always refer to Left and Right respectively regardless of whether "reverse" is checked. However "children alignment" field gets reversed along with the children's order. Take the following examples.