Reheat
Link to my portfolio.
Link to my portfolio.

UIToolKitでLabelが表示できない時に確認すべきこと

些細なことで時間を溶かしたので、同じ轍を踏む人が減るように書き残しておきます。

前提条件

  • Labelにテキストは設定している
  • フォントは指定していない

症状

  • UIToolkitでLabelを配置してもテキストが表示されない
  • Labelの高さ・幅が0になってしまう
  • UI Builderではちゃんと表示される

結論

TSSを定義・設定していたが、UnityDefaultRuntimeTheme を継承していなかったため。

UnityDefaultRuntimeThemeにはLabel型に対してデフォルトの -unity-font-definition が設定されているので特に何もせずとも表示されますが、独自にTSSを作成するだけだとデフォルトの設定がなくなるためにラベルが表示されなくなるようです。

独自のTSSを作成する場合は、-unity-font-definitionを設定するか、Inherited Themes に(RuntimeでUIToolkitを使う場合は) UnityDefaultRuntimeTheme を設定しましょう!