VRChat アバタープロジェクト Unity 2019.4.31f1→2022.3.6f1 への移行(2024.1.4時点)(2024.2.11追記)
(1)この記事の範囲
Unity Hub への2022.3.6f1本体のインストールは完了している状態からのスタートとします(アバタープロジェクトの移行についてのみの記載とします)
(2)2022年版移行前に2019年版で済ませておく事項
(2-1)VCCの最新版化、VCC各種パッケージの2019最終版化
VRChat Package Resolver Tool:0.1.26
VRChat SDK -Base:3.4.2
VRChat SDK -Avatars:3.4.2
このバージョンが2019年版の最終バージョンとなります。右のLatest Version(2024.1.4執筆時点ではResolver0.1.27とSDK3.5.0)は2022年版専用であり、2019年版と互換性がありません(2019年版へこれを入れるとプロジェクトが何かしら不可逆的に壊れる可能性大)。SDK3.4.2から3.5.0へ安全にアップグレードさせるのが今回の目的になります。なお3.4.2以前の古いSDKを使用している場合は3.4.2へアップグレードしておきましょう(3.5.0へのアップグレード時に不安定になる可能性大です)
(2-2)【重要】2019年版プロジェクト内のツールのバージョンを確認
2019年版の状態でプロジェクトを開き、各種ツールが2019最終版であるかどうかを確かめます。特に、VCCを経由せずUnitypackageで直接インストールしたツールが2022版対応なのかどうかを重点的に見ます(2022年版へ移行した時に壊れてVRChat SDKが表示されなくなる要因になる)。ツールのフォルダごとAssetsから削除して、2022年版へ移行後にあらためてツールを入れなおす方が安定します。
2022移行のアナウンスから時間が経っている為、ツール最新版が2019非対応、2022対応のみになっているツールもある可能性があります(VCC経由、Unitypackage経由共に)。2019最終バージョンが不明なら、プロジェクトのバックアップを取った後にそのツールを消して、再度バックアップを取ったあと2022移行を試みた方がおそらく安定します。
(2-3)バックアップを取る
(2-1)(2-2)の工程が完了したらUnity画面を閉じ、Open Project Folderからプロジェクトのフォルダをエクスプローラーで開き、適当なフォルダへコピーして退避させます。Back up your projects!★です。この後万が一移行でプロジェクトが壊れてもここの時点から再開できます。必ずバックアップしましょう。
(3)2022年版へのマイグレーション
バックアップを取ったら、いよいよ2022年版へマイグレーションします。
途中でUnityによる警告ウィンドウが出ますが、Continueで続ければOKです。
マイグレーション処理終了後、プロジェクト内のスクリプトエラーが何もなければ2022年版Unityの画面が自動で起動します。VCCの画面を見ると2022年版へマイグレーションされているのがわかります。
(2024.1.14追記)ここで自動起動した2022版プロジェクトですが状態がわりと不安定になっているので(lilavatarutilsの表示がおかしい等)、一旦プロジェクトを閉じて開きなおした方が安定します。
※ここで何かしらスクリプトエラーがある場合警告ウィンドウが出て、エラーあるけどセーフモードで開きますか?的なメッセージが出ることがあります。とりあえずIgnoreで無視してプロジェクトをそのまま開いてみてチェックします。古いツールが入ってないかどうか等を確認します。
(4)2022年版アバターを別Blueprint IDでアップロードしてVRChat内で動作確認
2022年版アバターは一度アップロードしてしまうとそのBlueprint IDは2022年版で固定されて2019年版へは戻せなくなるので、一度VRC Avatar Descriptor内にあるBlueprint IDを消して、2019年版とは別の新規アバターとしてアップロードします。VRChat内へ入り、動作確認を行います。
(5)2019年版のアバタープロジェクトを消す
(4)の動作確認を行って問題が無い事を確認したら、2019年版のアバタープロジェクト(バックアップ)を削除します。これで2022年版への移行完了です。
個人的体感としてはプロジェクト内のツールを最新版にしておくか一旦削除してから2022年版へマイグレーションすれば、移行でプロジェクトが崩壊することはそんなに無いかな、と思います。一部のアバターでアバターの体が崩壊する事象があるにはありましたが、修正版の素体が配布されていたので、その素体を用いて2022年版へマイグレーションすれば大丈夫でした。