Skip to content

OptionButton dropdown not properly inheriting scale of parent CanvasLayer starting in 3.6.beta1 #94247

@nolanmanning703

Description

@nolanmanning703

Tested versions

  • Reproducible in: v3.6.beta1.official [632a544] and all later versions of 3.6.
  • Not reproducible: in v3.5.3.stable.official [6c81413] and earlier.

System information

Godot v3.6.beta1- Windows 10.0.19045 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 3070 Ti (NVIDIA; 32.0.15.5612) - Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz (12 Threads)

Issue description

The scale of a CanvasLayer node is not applying to a child OptionButton's dropdown. The larger the scale for the CanvasLayer the more the click area for the dropdown is off, since it seems to retain its original scale as if it were outside the CanvasLayer.

I was able to narrow down that this issue cropped up in Godot 3.6.beta1, and has not been fixed in any of the later version of 3.6 (I've tested up to 3.6.rc1, the latest version of 3.6 as of my posting). In 3.5.3-stable the issue is not present. I tested as far back as 3.5-stable and couldn't reproduce it.

This is a picture of my test scene in the editor:
dropdown_bug_editor

Video of expected behavior in v3.5.3.stable.official [6c81413]:
https://github.com/user-attachments/assets/717c609e-ec18-4c2e-a043-17682e1d62a7

Video of buggy behavior in v3.6.beta1.official [6c81413]:
https://github.com/user-attachments/assets/f786209a-fc6a-435e-9823-e5803f8b61f2

Steps to reproduce

In order to reproduce, just add an OptionButton as the child of a scaled CanvasLayer in any official release of Godot 3.6 and try to select the options in the dropdown. If the CanvasLayer scale is large enough (it's 3 in my project), the options shouldn't be selectable at all. If the scale is small, you will notice the click area for the buttons is inaccurate.

Minimal reproduction project (MRP)

ViewportBugTest.zip

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions