CGBoxの一部の記事にはアフィリエイト広告が含まれております。
【VRChat】VCCについてとアバタープロジェクトの移行について解説

こちらの記事ではVRChatにおけるVCCについてや、VCCへのアバタープロジェクト移行について等を解説していきます。
古いSDKからVCCに移行したいけどやり方が分からない、そもそもVCCって何?という方は是非最後まで閲覧ください。
VCCとは?
VCC自体の解説
VCCはVRChatにおける開発の新しいプラットフォームとなります。
Unityのプロジェクトを開く際は、初めはUnity Hubというプロジェクトを選択する画面になりますがそれがVRChatの開発用に最適化されたものです。
アバター作成、ワールド作成に必要なSDKが1つにまとめられているので導入が非常に簡単になっています。
いわゆるVRChat用に特化したUnity Hubのようなものです。
旧仕様との違い
旧仕様は、Unityのプロジェクトをそのまま作成し、別途SDKをダウンロードしアセットとしてインポートする形式でした。
アセットとしてインポートすると、場合によっては他のアセットと見違えてしまいややこしくなってしまう可能があります。

旧仕様のプロジェクトの一例です。
SDKのフォルダーはVRCSDKとなっていますが、開こうと思ってもどれか一目で分からない状態です。
新仕様のVCCでは、ワールド用SDK、アバター用SDKがパッケージ形式として最初からプロジェクトに同封されるようになり、アセット一覧には表示されなくなっています。
視認性等を踏まえても初心者に優しい形式となっています。
VCCの導入
VCCは旧仕様のSDKと同様にVRChatの公式サイトからダウンロードする形になります。
ダウンロード
VCCをダウンロードするには、まずVRChat公式のツール関連ダウンロードページに移動します。
URLはこちらになります。

VRChatの公式サイトなので、全て英語ですがクリックする場所は赤い丸の部分だけです。
他はクリックする必要はないので無視しましょう。
下のManual SDK Installationとなっている部分は旧仕様のSDKのダウンロード項目となっています。
ダウンロード形式はexe形式となっているので、セキュリティソフト系統が誤作動する場合があります。
勿論ウィルス等は入っていないので実行で大丈夫です。
分かりやすい場所に保存したら、ダウンロードできたexeファイルを起動します。

初めに規約などが記載されているメッセージ一覧が表示されます。
こちらは赤い丸で囲っているI accept the agreementにチェックを入れ、右下のNextをクリックするとインストールが開始します。

インストールが完了したら自動的にVCCが起動します。
これでダウンロードとインストールは完了です。
初期画面はUnity Hubと同様にプロジェクトの一覧画面となっています。
新規作成で開いてみる
インストールが完了したらまずは動作確認の名目でVCC経由で新しいプロジェクトを作成してみます。

プロジェクト選択画面の右上にCreate New Projectと書かれた青いボタンがあるのでそちらをクリックします。

違う画面に移行しました。
Worlds、Avatars、Worlds U#といった画像で表示された物が目を引きます。
この記事ではアバター関連の解説になるので真ん中のAvatarsを選択しておきます。

下にあるProject Nameの所には分かりやすいプロジェクト名を入力します。
今回はvcc_avatar_testとします。
Project Locationはプロジェクトを保存するフォルダの場所となります。
画像の場合はD:\unity_project\の場所にプロジェクトフォルダが作成されます。
最終的なプロジェクトのフォルダパスは少し下のFinal project locationに記載されている通りになります。
全ての項目を決定したらCreate Projectと書かれた青いボタンをクリックするとプロジェクトの作成が開始されます。

Create Projectのボタンが灰色になっている場合はWorlds,Avatars,Worlds U#を選び忘れている可能性が高いです。
作成が完了するとManage Packagesという画面に移行します。
こちらは今は触る必要はないので左上のProjectsという項目をクリックしてプロジェクト一覧に戻ります。

正常にプロジェクトが作成されていたら一覧表に先程作成したプロジェクトが表示されているはずです。
Open Projectと書かれた青いボタンを押してプロジェクトを開きます。

開くことに成功すると、Unityの作業画面が出てきます。
この時点でプロジェクトにSDKがインストールされている状態なのでアップロード用のウィンドウを表示したり、オブジェクトにVRChat専用のコンポーネントを追加することが可能になります。
アバタープロジェクトの移行
旧仕様のSDKで作成したアバタープロジェクトもVCCで開くことが出来ます。
VCCに含まれているSDKに移植することもできますが、やり方によってはプロジェクトが破損する場合があるので正しい手順に沿って行うことが重要です。
移行処理をする前にバックアップ
移行している途中でプロジェクトが破損してもリカバリーが出来る様にバックアップを行います。
バックアップの方法は色々ありますが、今回は一番簡単な「プロジェクトのフォルダーを直接コピーする」で行います。

コピーすると画像のような感じになります。
やり方はとても簡単でプロジェクトフォルダーをWindows標準機能のコピー機能を使ってコピーするだけです。
フォルダーをバックアップしたら一旦プロジェクトを開きます。

ここでHierarchyの設置状態を.unityファイルとしてしっかり保存してください。
ポイントはこの.unityファイルの保存先をしっかり覚えておくことです。
以上でバックアップの処理は完了です。
この処理を行わないと移行した後にHierarchyの状態を復元することが出来なくなります。
一覧に出るようにする
バックアップを完了したら旧仕様のアバタープロジェクトをVCCのプロジェクトに表示できるようにします。

プロジェクト一覧画面の左上、Create New Projectの左横にある下向きの矢印をクリックします。
するとAdd Existing Projectという項目が出てきます。
そちらをクリックするとフォルダー選択ウィンドウが出てくるのでそこで旧仕様のアバタープロジェクトを選択します。
ここでしっかりバックアップが出来ているか今一度確認しておきましょう。
プロジェクト形式の選択
一覧に追加が完了すると2通りの状態になる可能性があります。
- Project TypeがUnknownと表示されている状態

- Project TypeがLegacy Avatarと表示されている状態

まずはUnknownと表示されている場合の説明です。

プロジェクトの欄の右にManage Projectというボタンがあるのでそちらをクリックします。
クリックするとパッケージの管理画面に移行します。

この中からVRChat SDK – Avatarsという欄を探し、右にある+ボタンを押します。
これでVCCのアバター用SDKをプロジェクトに組み込むことが出来ます。
次にLegacy Avatarと表示されている場合の説明です。

欄の右にあるMigrate Projectをクリックします。
Migrateには移行する、という意味があります。
英語で旧仕様のSDKが検出されました、というメッセージのある画面に移行します。
2つほどボタンがありますが左の青い方のMigrate a Copyというボタンの方をクリックします。

注意書きが出てきますが意味合いとしては
- この操作は「プロジェクト名_Mirgated」として移行が完了した状態の新しいプロジェクトが作成されます
- オリジナルのプロジェクトは変更されません
という意味になります。
注意書きを読んだらYes,migrate nowという青いボタンをクリックします。
すると移行処理が開始されるので完了するまで待機します。

完了するとプロジェクト一覧に「プロジェクト名-Migrated」という名前でVCCのSDKが組み込まれたプロジェクトが作成されます。
これで移行の処理自体は完了です。
ファイル系統の確認
VCCのSDKに移行することでプロジェクトにインポートしていたアセットが破損する可能性があります。
移行処理を行った場合は必ずプロジェクトを開き、プロジェクト内のアセットの挙動を確認しておきましょう。
よく使われるlilToonは正常に元の状態が復元されることを確認しています。
Hierarchyの状態も確認しておきます。

Hierarchyに何もない状態となっており、緊急事態です。
ここで焦らずにバックアップの過程にて保存した.unityファイルを開きます。
プロジェクトが丸々コピーされて移行処理を行っているので.unityファイルも移行前と同じ場所にあります。

Hierachyの状態が復元されました。
これで状態の復元は完了です。
仕様の確認
仕様自体は、今まで1つのアセットとしてAssetsの中に入っていたSDKがPackagesの中に移行されたといった形になります。

この部分です。
それ以外の仕様は殆ど旧仕様と変わらず、アバターのアップロード等も同じやり方となっています。
まとめ
新しいプラットフォーム、VCCが出たことにより旧仕様のSDKは近い将来削除されることが公式から発表されています。
これによりSDKがアップデートしても旧仕様ではアップデートすることが出来なくなってしまいます。
早目にVCCに移行するようにしましょう。