UI Builderと実際の見た目が異なる
BackgroudColor
を赤色に設定したVisual Element
を配置し、flex-grow
を1
に設定してあげるとUIBuilderのWindowいっぱいに表示されます。

ただしUnityエディタ上で実際にWindowを立ち上げても、何故かWindowいっぱいに表示されません。

原因
Unityが自動生成するTempalteContainer
が原因です。TemplateContainer
は子のサイズに応じて自動でリサイズします。

UI Toolkit Debugger
で見てみると、Visual Element
はTempateContainer
の大きさまでしか広げることができず、TemplateContainer
がWindowいっぱいには広がっていません。
またこれは覚えてほしい機能一位なのですが、UI Toolkit Debugger
でstyle
の変更ができます。TemplateContainer
のflex-grow
を1
に変更すると画面いっぱいに赤色になります。

対処法
コード上でflex-grow
の設定をしたい場合は、rootVisualElement
から設定してあげると良いでしょう。
publicvoid CreateGUI() { // TemplateContainerのflexGrowを1に設定する rootVisualElement.Children().First().style.flexGrow =1; // ... }