IssueRaiser

Unify Control and Container nodes, allow children to pick the behavior

### Problem or limitation *I know the title may sound like this is yet another unfeasibly large rework, but trust me, it's a much smaller change than it looks. And it comes with great benefits for UI authoring in the engine. With my expertise, I wouldn't be making this proposal if I didn't believe it was realistic and respectful of what Godot already offers.* Godot provides two ways to create layouts with its UI system: **anchoring** and **containers**. **Anchors** are useful when you want to align nodes to a point of another control or create a proportional relationship. They do not work in situations where you need parent controls to account for size of their children, unless you script that behavior explicitly and manually. They also do not serve to quickly create typical layouts. This is where **containers** come in and offer the exact opposite. They combine and arrange their children (unless marked as top-level) in a certain way, force transforms on them (setting position and size, resetting scale and rotation), and completely override anchoring behaviors for them. Containers offer some ways of aligning children, but these depend on the type of container and apply with respect to other "contained" children. This separation is pretty nice at first. For simple and straightforward GUI you can make do with built-in elements exactly as designed and create layouts in no time (learning curve notwithstanding). But very quickly you will run into situations where you have to

Posted by YuriSizov on Feb 13, 2026, 12:53 PM

Tags

Related issues

Raise real-world problems, find people facing the same issue, and discuss solutions.2,000 issues0 comments

ux (EdTech)

Unify Control and Container nodes, allow children to pick the behavior

YuriSizovFeb 13, 2026, 12:53 PM

### Problem or limitation *I know the title may sound like this is yet another unfeasibly large rework, but trust me, it's a much smaller change than it looks. And it comes with great benefits for UI authoring in the engine. With my expertise, I wouldn't be making this proposal if I didn't believe it was realistic and respectful of what Godot already offers.* Godot provides two ways to create layouts with its UI system: **anchoring** and **containers**. **Anchors** are useful when you want to align nodes to a point of another control or create a proportional relationship. They do not work in situations where you need parent controls to account for size of their children, unless you script that behavior explicitly and manually. They also do not serve to quickly create typical layouts. This is where **containers** come in and offer the exact opposite. They combine and arrange their children (unless marked as top-level) in a certain way, force transforms on them (setting position and size, resetting scale and rotation), and completely override anchoring behaviors for them. Containers offer some ways of aligning children, but these depend on the type of container and apply with respect to other "contained" children. This separation is pretty nice at first. For simple and straightforward GUI you can make do with built-in elements exactly as designed and create layouts in no time (learning curve notwithstanding). But very quickly you will run into situations where you have to

Comments (0)

No comments yet. Start the discussion.

Comment on this issue