OK, not really a zillion π But I seriously addressed a few important issues with editor usability and I think these improvements have a big impact. Some important things are now more intuitive for beginners, some behave better for larger projects.
As usual, I encourage you to try the improvements immediately by downloading the latest engine version. And please support us on Patreon because we really rely on it.
Improvements:
-
The default editor tool now allows to select and modify both UI (instances of
TCastleUserInterface
) and 3D / 2D game stfuf (instances of TCastleTransform
).
In a broader context, the tools to operate on UI and transformations have been merged. There’s no longer a special “Modify UI” tool (that didn’t work on transforms). The tools “Translate” / “Rotate” / “Scale” remain, but now they work on both transforms (allowing to translate / rotate / scale them) or UI (in which case you can always translate + resize it).
This makes using editor much simpler. You will no longer need to switch modes so often.
Note: To operate on something (UI or transform) without changing the currently selected object, remember you can drag with Shift.
-
Hierarchy (left panel) is updated smarter, without rebuilding it from scratch. This makes adding / removing components experience much better: it will not reset the expanded / collapsed state of your components, it will not reset the scroll position within the hierarchy list.
-
We now show a label alongside selected UI components of size zero, to make them actually visible in the editor.
This addresses a common situation with TCastleVerticalGroup
and TCastleHorizontalGroup
— they have by default size zero (since they have no children initially, and have AutoSize = true
by default). While the zero size makes sense for them, but to the user it was confusing what is going on — you added a group, but nothing was visible?
Now, newly added TCastleVerticalGroup
and TCastleHorizontalGroup
, while it still has size zero, is clearly visible.
This also fixes analogous issue with TCastleImageControl
, that has size zero by default, because URL
of the image is not set initially, and Stretch = false
(so control size matches image size, and there’s no image).
-
If you cannot resize or move a component, sometimes it makes sense to move or resize the parent. This in particular applies to moving/resizing a UI with TCastleUserInterface.FullSize
or moving a UI under TCastleVerticalGroup
/ TCastleHorizontalGroup
. Previously these operations were blocked, now they affect the parent.
-
If you cannot resize a component because it has property like TCastleButton.AutoSize
, now we display this using a tooltip (when you try to resize it). So it should be more obvious that you can turn off properties like TCastleButton.AutoSize
on many components to make them resizeable.
-
Important API cleanup: We now have TCastleUserInterface.Translation
property, consistent with TCastleTransform.Translation
.
The previous TCastleUserInterface.AnchorDelta
is a deprecated alias for Translation
. The HorizontalAnchorDelta
, VerticalAnchorDelta
, Left
, Bottom
are deprecated.
This change is fully backward-compatible. We deprecate some things, but they all continue to work as before.
Screenshot for this news post continues our tradition — “if you don’t have a perfect screenshot to illustrate your features, just find a pretty model on Sketchfab and show it rendered using CGE” π In this case, I searched for “smooth” and found this beautiful monster: Gears of War – Grinder by nataliedesign.