Version: 2023.1
言語: 日本語
Unity 2022.2 へのアップグレード
Upgrade to Unity 2021 LTS

Unity 2022.1 へのアップグレード

ノート: このセクションのアドバイスには、リリース順に従ってください。

LTS バージョン間でアップグレードする場合は、それらのバージョン間の LTS アップグレードガイドを読む必要があります。例えば、2019 LTS から 2021 LTS にアップグレードする場合は、2019 LTS アップグレードガイドを読んでから、2021 LTS アップグレードガイドを読んでください。

通常の (LTS でない) バージョン間でアップグレードするには、これらのバージョン間の LTS アップグレードガイドを読んでから、最後の LTS バージョンとアップグレードしたい (目的の) バージョンの間の全てのマイナーバージョンのアップグレードガイドを読む必要があります。例えば、2019.4 から 2021.1 にアップグレードする場合は、2019 LTS、2020 LTS、2021.1 のアップグレードガイドをこの順番通りに読んでください。

このページには、Unity 2022.1 バージョンの変更点で、2021 LTS バージョンから 2022.1 へのアップグレード時にプロジェクトに影響を与える可能性があるものを記載しています。

ノート: 2021 LTS は 2021.3 とも呼ばれます。

このページに含まれる内容

レンダーパイプライン

This upgrade guide describes how to upgrade to version 2022.1 of Unity’s built-in render pipeline. To upgrade to other render pipelines to version 2022.1, see:

他のパッケージをアップグレードする場合は、使用しているパッケージのドキュメントを参照してください。

Articulation Drive の forceLimit プロパティが、インパルスの代わりに力の入力を受け付けるように修正されました。

Articulation Drive の forceLimit 機能が、本来はフォースリミットであるべきところ、インパルスリミットとして使用されていました。これにより、フォースリミットが fixedDeltaTime 値に依存していました。

既にこの値をインパルスとして使用する形で導入している場合は、アップグレードすると、Articulation Body コンポーネントの Articulation Drive の forceLimit の値が著しく不正確になります。

古いプロジェクトを開く時のためのチェックがあります。プロジェクトをアップグレードすると、Unity は、間違った設定を回避するために、自動的に関連の値を ProjectSettings > Time ページに設定された Time.fixedDeltaTime で割ります。これは、プロジェクトに設定された Time 値に基づいてロボットのシミュレーションが行われるほとんどのケースをキャッチします。

ロボットのシミュレーションにスクリプトのカスタムの時間値を使用している場合は、これらの値を手動で修正する必要があります。

生成されるライトマップ UV の変更

Unity の UV 生成手順が変更されました。その結果、Model Import Settings の Generate Lightmap UVsオプション を使用しているプロジェクトでは、ライトマップが破損して表示されることがあります。この問題を解決するには、プロジェクト内のすべてのライトマップを再度ベイクします。

この変更は、Generate Lightmap UVs を使用するプロジェクトにのみ影響します。

UI Toolkit の GradientField の変更

Unity 2022.1 から、GradientField のカラーピッカーの HDR の設定が、デフォルトで有効ではなくなりました。GradientField を使用する既存のプロジェクトでは、HDR カラーピッカーの代わりに通常のカラーピッカーが使用されるようになりました。

HDR カラーピッカーの使用を継続したい場合は、GradientField の HDR プロパティを使用して有効にできます。

UI Toolkit の Numeric および Compound フィールドがランタイムで使用可能に

以下のフィールドが使用可能になりました。これらはランタイムで自動的に機能します。

  • DoubleField
  • FloatField
  • IntegerField
  • LongField
  • Hash128Field
  • RectField
  • RectIntField
  • Vector2Field
  • Vector3Field
  • Vector4Field
  • Vector2IntField
  • Vector3IntField
  • BoundsField
  • BoundsIntField

アップグレードを行っても、プロジェクト内の UXML ファイルは更新されず、引き続き動作します。ただし、新しい昇格された型を UI Builder を通して追加すると、UXML アセットの古い Unity バージョンとの後方互換性が破られます。UXML アセットの後方互換性を維持するには、UXML ファイル内で古い型 (UnityEditor.UIElements 名前空間) を使用する必要があります。

Input Manager の Physical Keys オプションがデフォルトで有効に

Physical Keys オプションを使用すると、(ユーザーの地域によって異なる場合がある言語別のレイアウトではなく) 物理的なキーボードレイアウトにキーコードをマッピングできます。例えば、1 行目の文字が “QWERTY”と並ぶキーボードもあれば、“AZERTY” と並ぶものもあります。つまり、一般的に知られる “WASD” キーを使用して移動を行う形でコントロールのスクリプトを記述した場合、AZERTY 配列のキーボードでは、(矢印キーの配列のように) 物理的に正しい割り当てになりません。Physical Keys オプションを有効にすると、Unity は、ユーザーの使用している実際のレイアウトに関係なく、キーの物理的な位置を表す一般的な ANSI/ISO の “QWERTY” レイアウトを使用します。つまり、“Q” キーを指定した場合、ユーザーのキーボードでその位置に別の文字が割り当てられていたとしても、必ず文字キーの最初の行の一番左の文字になります。

2022.1 現在、このオプションはデフォルトで有効になっており、将来的には古い動作を廃止し削除する予定です。

BatchRendererGroup のサポート追加

BatchRendererGroup APIは元々 MegaCity デモのために記述されたものですが、完全にはドキュメント化されておらず、実装の詳細の多くが提供されていないために使用が困難でした。この API が一から記述し直され、完全にドキュメント化され、サポートされました。

新しいインターフェースの使用方法については、BatchRendererGroupの ページを参照してください。

Unity 2022.2 へのアップグレード
Upgrade to Unity 2021 LTS