Search Issue Tracker

By Design

Votes

2

Found in

2018.4

2019.4

2020.3

2020.3.13f1

2021.1

2021.2

2022.1

Issue ID

1350545

Regression

No

HorizontalLayoutGroup fails to position children when entering/leaving Play Mode if ControlChildSize.Height is enabled

uGUI

-

Reproduction steps:
1. Open the attached "1350545.zip" project
2. Notice how the red and green Panels are laid out
3. Enter Play Mode

Expected result: "PanelRed" and "PanelGreen" Panels are properly laid out
Actual result: "PanelRed" and "PanelGreen" Panels are laid out on top of each other

Reproducible with: 2018.4.36f1, 2019.4.29f1, 2020.3.15f1, 2021.1.16f1, 2021.2.0b5, 2022.1.0a3

Note:
- Triggering a layout update (like re-activating the "HorizontalLayoutGroup" Component) proceeds to layout the Panels properly until leaving/entering Play Mode
- Not reproducible with VerticalLayoutGroup

  1. Resolution Note:

    The Aspect Ratio Fitter should not be used along with a parent that has a type of layout group component.
    LayoutRebuilder.MarkLayoutForRebuild(HorizontalLayoutGroup) can be used as a workaround if the user still wants to use both components

Comments (2)

  1. Infenix

    Nov 13, 2022 16:30

    Despite I understand this is not what we are supposed to use, this is still what I'm using to fit images inside layout groups, as either width or height is subject to changes do to using layout groups. Therefore I do need to resize the other parameter (width/height) to a correct value as I want my image correctly displayed. When looking around researching how to achieve this behaviour, I only ended up here after multiple forum posts.

    It looks strange as this seems to be a not so uncommon issue, but Unity tells us not to that. In this case, what am I supposed to use instead ?

  2. gillemp

    Jul 22, 2021 14:39

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.