Narazaka::Blog

奈良阪という人のなにか

VCCとはなんですか? 私はそれについて、何かする必要がありますか?

こちら、VCCヘルプセンターです(?)

adventar.org

Q. VCCとはなんですか?

VCCとはVRChatカスタムがされたUnity Hubのようなツールです。正式名称を「VRChat Creator Companion」といいます。

  • VCCはVRCSDKではありません。VRCSDKをインストールし、プロジェクトを管理するためのツールアプリケーションです。
  • VCCはUnityに導入するものではありません。Unity HubのようにUnityを立ち上げるためのツールです。

Q. 私はそれについて、何かする必要がありますか?

2023年以降にVCC経由でないとSDK更新がされなくなると予告されているので、プロジェクトの移行作業が必要です。

移行作業は、VCCに既存のプロジェクトを登録し、所定のボタンを押すだけで完了します。

Q. 移行作業は具体的にどのようにして行いますか?

  • まずVRChat Homeの「Download」から「Creator Companion」をダウンロードし、インストールして下さい。(このときダウンロードされるのはUnityPackageではなくインストーラーです。)

  • そしてスタートメニューやデスクトップショートカットなどから「VRChat Creator Companion」を立ち上げます。

スタートメニューの一覧から

スタートメニューの検索から「vrc」など

このツールは以降Unity Hubの代替として使用することになりよく使うので、どこかわかりやすいところにショートカットを置くのをおすすめします。

  • 立ち上がったVCCの左のバーからProject→Addボタン(ボタンに見えない)を押します。

  • プロジェクト選択画面が出てくるのでプロジェクトのフォルダ(Assetsフォルダが見える)を選びます。

  • すると以下のようにメニューに出てくるので、該当のプロジェクトの名前をクリックします。

  • このような画面になると思うので、Migrate(移行)ボタンを押します。

  • 以下のような警告文が出ます。

このプロジェクトを移行すると、VRChatの最新SDKがインストールされ、パッケージがVRChat Creator Companionによって管理されるようになります。

以下のフォルダは削除され、新しいバージョンに置き換えられます。
- \Assets\VRCSDK
- \Assets\Udon
- \Assets\VRChat Examples
- \Packages\com.vrchat.vrcsdk3
- \ProjectSettings\ProjectVersion.txt
- \Library
- \Logs

プロジェクトをコピーして移行するか、あるいは(バックアップやバージョン管理システムがある場合に)上書きで移行するかを選択出来ます。

「コピーして移行する」「上書きして移行する(バックアップがあるので)」「キャンセル」

以下の「移行前、移行後に気をつけるべきことはなんですか?」を読んで対処してから、「Migrate a copy(コピーして移行する)」を押して移行をしてください。

  • 移行が完了すると以下のような画面になるので、「Open Project」を選ぶと移行後のプロジェクトが開きます。

Q. 移行前、移行後に気をつけるべきことはなんですか?

アバターのプロジェクトの移行

1. 削除されるアセットの待避(移行前)

移行時に既存のVRCSDK関連のフォルダが削除されるため、VRCSDKVRChat Examplesフォルダ内に依存アセットを置いている場合は別の場所に待避させてから移行して下さい。

2. 移行時に問題になるアセットの対処(移行前・移行後)

また移行時に問題が出るアセットが少数あり、その場合対処が必要です。

  • AV3Emulator: 移行前に一旦Lyuma/Av3Emulatorフォルダを削除してから移行し、移行後にVCC側で「Gesture Manager」をアンインストールしてからAV3Emulatorを再導入してください。
  • RadialInventorySystemV4: 移行前に最新版にしてから移行し、移行後RadialInventory→RIVS4 Reload Packagesメニューを実行して処理が終わるまで待って下さい。Unityの再起動も必要かも知れません。
    • RadialInventorySystemV3の場合はこの問題は起きないため、そのまま移行しても大丈夫な可能性があります(未確認

問題ないと思われるアセット

以下のアセットはエラー無く移行出来ることを確認しています(敬称略)。

ただしそれぞれ最新版にして移行することをオススメします。(最新版にしないとVRCSDKが新しくなることによってエラーが出る可能性があるため

  • 各種アニメーション系(ねここや ポーズ/Emote詰め合わせ・EverydayMotionPack・みかん製ポーズ集・-Silence- ボーズセット等)
  • 各種シェーダー系(UTS・liltoon・Sunao Shader等)
  • AnimationClipInspectorExtension
  • AnimatorOverrideGenerator
  • Asset Cleaner
  • SelfViewMonitor(1.0, 2.0)
  • SelfViewMonitorSetter
  • ArmFixed
  • CustomEmojiEditor
  • BitActionSwitch
  • Avatars3.0CustomSet
  • DressingTools
  • DynamicBoneDynamicsCsv
  • ConstraintWorldFixed
  • CopyAssetsWithDependency
  • AnimationPathEditor
  • DynamicBone
  • DynamicBoneExtension
  • TivoliAvatarExporter
  • HighResolutionScreenshot
  • 仮想DustBoxニュートリノγ)製各種ツール(AddObjActive, BakeBornAndCombineMesh, CaptureScreen, MergeChildAnimation)
  • Haï製各種ツール(Combo Gesture Expressions, Visual Expressions Editor, Lightbox Viewer, Animation Viewer, Expressions - Menu Hierarchy Editor, Constraint Track Animation Creator, DestroyEditorOnly等)
  • CopyDynamicBones
  • ほたての貝殻(ほたてねこまじん @HhotateA)製各種ツール
  • VRCLens
  • AvatarTools
  • 改変版 AvatarTools(空々神社社務所
  • KawaiiCamera(V1, V2)
  • KawaiiCametaSetter
  • AutoConfigureConstraint
  • VRCQuestTools
  • Avatar 3.0 Gaze and Culling Detector
  • MantisLODEditor
  • がとーしょこら製各種ツール(MeshDeleterWithTexture, ModelBoneDeleter, VRCAvatarEditor, VRCAvatars3Tools, - VRCAvatars3Validator, VRCDeveloperTool)
  • MeshSimplifyTool
  • MeshSplitter
  • MizoresPackageExporter
  • SDK2CompatView
  • AssetMerger
  • SkinnedMeshEditor
  • VRCPhysBoneHelper
  • MyAvatarBuildSetting
  • BoneSelectTool
  • HierarchyStalker
  • Unityだけでテクスチャのアトラス化ができるすごい奴
  • StereoCamera
  • SyncGameCamara
  • AvatarSkinReplace
  • ObjectWeightScale
  • PPPen
  • Pumkins AvatarTools
  • Dynamic Penetration System
  • VRCCostumeChangeSetup
  • SetDirtyIt
  • shadowdepth_shader
  • All_PBChanger
  • AnimationValidator
  • taremin製各種ツール(CopyComponentsByRegex, RemoveComponentsByRegex, SelectObjectsByRegex)
  • VRCAvatarTools(Thry)
  • とも屋製各種ツール(キセテネ, ツケテネ, 羅生門ツール)
  • unity-overwriter
  • VRChatThumbnailer
  • VRC合法チート研究会製各種ツール(VRCスケールチェンジシステム、VRCグライダー&ダッシュシステム、VRCブレンドシェイプ限界突破・合成ツー- ル、VRC Hands Moving System、VRCのび〜るほっぺたシステム、VRC Together Flying System等)
  • VirtualBook2
  • VirtualLens2
  • ObjectsFixer
  • VRCAssetMerger
  • VRCExpressionSetupTool
  • VRCHAT_Profile_Generator
  • VRCHierarchyHighlighter
  • VRLabs製各種ツール
  • フレア(whiteflare)製各種ツール(AnimEditUtility, AvatarCopyUtility, BakeKillerFinder, BoundsUnificator, - SkinnedBoneRemapper)
  • Modular Avatar
  • VRM Converter for VRChat
  • UniVRMExtensions

3. VRCSDKの更新による非互換への対応(移行後)

古いSDKのプロジェクトをVCC移行すると、必然的にSDKが新しくなるために、「手が動かなくなる」等の非互換が出る可能性があります。

手が動かなくなった場合

表情は出るのに手が動かなくなることがあります。

この場合、FXレイヤーのAnimator Controllerに対処が必要です。

(Gestureレイヤーではなく、FXレイヤーを操作します。これはFXレイヤーが誤作動することによりGestureレイヤーが効かなくなる問題です。)

一番上のレイヤーの歯車マークをクリックし、以下のようにAvatarMaskに値がある場合は削除して下さい。

(Deleteキーなどで削除出来ます。)

また表情レイヤーなどで空の表情指定ステートに「proxy_~」系のアニメーションが入っている場合、これを空のアニメーションに変更して下さい。

空のアニメーションは「Project」タブのどこかで右クリックし、Create→Animationを選択すると出来るので、それを指定してあげて下さい。

ワールドのプロジェクトの移行

1. 削除されるアセットの待避(移行前)

移行時に既存のVRCSDK関連のフォルダが削除されるため、VRCSDKVRChat ExamplesUdonUdonSharp等のフォルダ内に依存アセットを置いている場合は別の場所に待避させてから移行して下さい。

2. 移行時に問題になるUdonアセット等の対処(移行前・移行後)

UdonSharpのメジャーバージョンが上がり非互換な変更が入るため、Nested Prefabをはじめとした様々なものについて対処が必要になる模様です。

正直ここについては筆者も把握し切れていないので各位がんばりましょう()。

Q. その他のよくある質問

Unity Hubは不要になるのですか?

Unity HubはUnityインストールのためにこれからも必要です。

しかしUnity Hubからプロジェクトを開かず、VCCでプロジェクトを開くようになるでしょう。

VCCに移行したプロジェクトをUnity Hubから開くと問題がありますか?

Unity Hubから開いても問題ありません。が、SDKの更新などがVCCからしか出来ないため、VCCで開くことをオススメします。

Git管理のプロジェクトの移行では「Migrate in place(上書きで移行)」を選んでも問題ないですか?

Gitで元に戻すスキルがあるならば基本的に問題ないと思いますが、VCCがデフォルトでPackages配下にgitignoreファイルを置くため、そこに導入されるアセットはgit reset等で自動的に消えないことに注意して下さい。

またこのgitignoreがあると、プロジェクトをcloneしたりするとVCCからパッケージが未導入の状態に見えることがある模様なので、gitignoreを削除した方が良い可能性もあります。

VCCになると何か便利になるのですか?

以下のようなメリットがあります。

  • VRChat SDKの更新がボタン一つで行えるようになります
  • プロジェクトのバックアップがボタン一つで行えるようになります
  • 便利なパッケージがボタン一つで導入出来るようになります(Gesture Manager等)

ただ人によっては大きなメリットとも言い難いかもしれません。

移行作業もVRChatのこれまでの変更(SDK3, PhysBones等)に比べて基本的には大変ではない分、変化も限定的といえるでしょう。(ワールドはUdonSharpまわりで大変ですが、これはVCC自体が原因というわけではありません(同時にUdonSharpに非互換の変更が入る事による問題))

VCC移行をしなくても問題ありませんか?

今後アバターやワールドをアップロードしないという場合は移行しなくてもしばらくは困らないと思います。

また古いSDKもすぐアップロードが禁止されるとは考えにくいため、しばらくは大丈夫だと思います。

ただ今後またSDKアバター・ワールド仕様に非互換の変更が加わったり、古いSDKからのアップロードが禁止されたりすることも考えられるので、できる限り移行をおすすめします。

VCC移行をするベストタイミングはいつですか?

筆者は2022年末(つまり今)~2023年初頭だと思っています。

できるだけ安定した移行をするには、移行プロセスが整っており、かつVRCSDKの非互換が少ない時が安全です。

2023年以降既存のVRCSDKの更新が止まると予告されているので、VCC移行前と移行後の非互換が大きくなる可能性があり、移行で問題が起きやすくなると想定されます。またVCCを前提にした関連アセットなども今後増えてくるでしょう。

さらにワールドの移行について改善が入った(prefab系の対処が楽になった)との報も耳にした気がします。

移行プロセスもある程度盤石になり、非互換が最も少ないと思われる今からしばらくがオススメであると思います。