目次
はじめに
UI Toolkitを使用した際につまづいたので、その時の対処方法を残しておきます。
状況
- 既存プロジェクト(Unity2022)をUnity6に移行した。
- 新たにUI Toolkitを使おうとしたらボタンやテキストがGame viewに表示されない。
- UI Builderを見るとheight:0.00となっていた。
原因と対処方法
どうやら、UI Toolkitを扱う際に最初に作成されるはずのUnityDefaultRuntimeTheme.tss
ファイルが何かの不具合で、移行プロジェクトで作成されなかったのが原因のようでした。 新規でプロジェクトを作り、そこでUnityDefaultRuntimeTheme.tss
ファイルを作成し、移行プロジェクトに持っていき、該当箇所へアサインすることで解決しました。
追記:
プロジェクトで「Starter Assets」というUnity公式アセットを使っていたのですが、その中の「TouchScreenInputDefaultStyle」という.tssファイルがデフォルトに割り当てられてしまい、最初にUnityDefaultRuntimeTheme.tss
が作られなかったようです。
具体例
- Unity6のプロジェクトを新規で作成します。
Assets
フォルダ内の任意の場所で右クリック
>Create
>UI Toolkit
からPanel Settings Asset
を作成します。- すると、同時に
UI Toolkit
>UnityThemes
フォルダ内にUnityDefaultRuntimeTheme.tss
が作られるので、これをエラーがあるプロジェクトのわかりやすいところへ移動またはコピペします。
- エラーのあるプロジェクトに戻って
Panel Settings Asset
を選択(無い場合は新規作成)して、InspectorウインドウのTheme Style Sheet
に先ほど持ってきたUnityDefaultRuntimeTheme.tss
をアサインします。
Hierarchy
>右クリック
>UI Toolkit
でUI Document
を作成してPanel Settings
に設定したPanel Settings Asset
を登録します。またSource Asset
には任意の.uxmlファイル
をアサインします。
問題なければ、UI Builderで編集したボタンやテキストがGame viewに表示されるはずです。
UI Builderのheightにも数値が反映されました。
以上、参考になれば幸いです。