Bidirectional Horizontal Layout Group by hk1ll3r - 3

GUI

A horizontal layout group for Unity UI that supports both left-to-right and right-to-left.

Unknown VersionMIT LicenseUpdated 40 days agoCreated on January 5th, 2020
Go to source

BidirectionalHorizontalLayoutGroup

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.

BidirectionalHorizontalLayoutGroup in action

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

Usage

This is a standard Unity package you can add to your project using Git URLs.

Check out the showcase project to see a sample Unity project that uses this package. https://github.com/hk1ll3r/ShowcaseOfBidirectionalHorizontalLayoutGroup

Notes

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.

LTR mode

BidirectionalHorizontalLayoutGroup in normal LTR mode

RTL mode

BidirectionalHorizontalLayoutGroup in reverse mode

Show all projects by hk1ll3r