PC対応のワールド制作をしたあと、Quest対応、アップロードもしたいよというときに楽にQuest対応ができる方法です。(PC用のライトベイク、オクルージョンカリングベイク、ワールドアップロードなどが終了したものとします。)
Unityのバージョンは、2022.3.22f1 2025/5月現在、VRCワールド作成用の最新のバージョンです。結構古い解説のだと操作が違ったりしますので気を付けてください。
PC用ワールドのアップロードについては以下の記事を参考にどうぞ↓
VCCにデフォルトで入ってるEasyQuestSwitchというパッケージツールを使って簡単にQuest対応設定をしていきます。(この記事では軽量化についての解説はしません。Quest対応の設定やアップロードまでの基礎的な手順を解説しています)
ワールド制作のための解説ですが、アバター制作用にも使えるのでよろしかったら見ていってください。(マテリアル、シェーダー切り替え作業などの解説があります)
Quest対応ワールドの制限
Quest対応は以下のページに制限や条件などが書かれています。
📦 ファイルサイズ制限
ダウンロードサイズ(圧縮後): 最大100MB
これらの制限を超えると、アップロード時にエラーが発生し、Quest用ワールドとして公開できません。
🎨 シェーダーの制限
Questでは、VRChat/Mobileシェーダー選択ダイアログ内にあるシェーダーしか使えません
- Toon Lit
- Standard Lite
- Bumped Diffuse
- Prticles/Additive
- …など
これら以外のシェーダー(例:UnityのStandardシェーダーやカスタムシェーダー)は、Questでは正しく表示されないか、アップロード時に警告が表示される可能性があります。※原則NGですが、使えるカスタムシェーダーもあるみたいですが詳しくは知りません。
その他の制限
- ポストプロセシング: ポストプロセシングは使えません。
- テクスチャサイズ: 大きすぎるテクスチャはファイルサイズを増加させるため、適切なサイズへのリサイズが推奨されます。
- オーディオファイル: 長時間のオーディオや高ビットレートのファイルは、ファイルサイズを増加させる要因となります。
- ライト:重くなるのでライトベイクが必要になります。
これらの制限をクリアするため、Quest対応用にProjectを作り変える必要があります。そのときにEasyQuestSwitchを使います。
EasyQuestSwitchとは
EasyQuestSwitch は、PCとQuest(Android)用で異なるアセットや設定を簡単に切り替えることをサポートするためのツールです。
- Quest用には軽いマテリアルに切り替える
- PC用にはリッチなシェーダーを使う
- 特定オブジェクトをQuestでは非表示にする
という「分岐処理や差し替えを事前に整理すること」が主目的です。
今までQuest対応するにはPC用、Quest用とプロジェクトを分ける必要があり、そえぞれの対応の分岐処理が大量にあるプロジェクトの場合、ワールドの修正変更を行うごとに手動でまた設定していくのは大変な労力がかかりましたし、プロジェクト管理にGitなど使う必要もあったみたいです。
EasyQuestSwitchを使えばPC用、Quest用とプロジェクトを分けなくても一つのプロジェクトで管理できるので、修正や変更するときにかなり楽になります。
EasyQuestSwitchを導入
プロジェクト作成時にEasyQuestSwitchを導入しておきます。(プロジェクトの構造や設定に変更を加えるタイプのツールは、既存のシーンやアセットに影響を及ぼす可能性があるため、なるべくプロジェクト作成時に導入すべきです。もし後から導入するならプロジェクトを複製することをオススメします。)
プロジェクト複製についてわからない方は以下の記事を参考にしてください↓
EasyQuestSwitchを導入

VCCで各プロジェクトの右にあるManage Packagesを押し、

パッケージツール一覧の中のEasyQuestSwitchを、右側の+アイコンを押して追加します。

Unityの上部メニュー
Window > Easy Quest Switch
で設定メニューが出てきます
ちなみにEasyQuestSwitchはPC用のプラットフォームで設定した方が良い場合が多いです。PC用の方が表現するマテリアルや表示するオブジェクトも多いので、スイッチプラットフォームでAndroidに切り替えると、「PC用にしか存在しないマテリアル」などが見えなくなる場合があります(Unityが対応しないため)。
シェーダーやマテリアルなど、そのプラットフォームでしか動かないアセットの挙動確認が難しくなるため、切り替え前にある程度セットアップするのが理想です。
EasyQuestSwitchの使い方


Easy Quest Switchのウィンドウを、下のProjectファイルなどがあるところなどに移動させ、(好きなところに配置してください)
Setup Easy Quest Switch in the sceneを押してセットアップを開始します。
すると
「Drag & Drop new items here.」と出てくるので、Hierarchyの中から、例えばpostProcesingをそこにドラッグして追加します。

するとPC版、Quest版で設定を変える項目が出てきます。PCではActiveにチェック、Questではチェックしない、とすると、QuestではPostProcessingをオフにする設定ができます。
ライトのモード切り替え
下図にあるような、スポットライト(影あり)をPC用にリアルタイムのライトとして設置したとします。Quest対応では軽量化のためベイクしようとする場合、今度はスポットライトのLightコンポーネントをEasyQuestSwitchにドラッグします。(ちなみに削除するときは右側に出てる「-」のアイコンをクリックします。)

ここでライトのモードをPC用とQuest用で切り替えます。Quest用をBakedにしたら影も落ちなくなります(Androidプラットフォームでライトベイクが必要です。)
Unityのライトのモードとは?
モード | 説明 | 主な用途 |
---|---|---|
Realtime | ライトの影響が常にリアルタイムに反映される。影も動的に計算。 | キャラや動く物に当たるライト。PC向け。 |
Baked | 影や光はLightmapに「焼き付け(ベイク)」される。実行中はコスト0。影は動かない。 | 静的な背景ライト。Questに最適。 |
Mixed | 静的な部分はベイクされ、動的なものにはリアルタイム処理が少し残る。 | PC用で動的オブジェクトも光を受けたいときに使う |
シェーダーの切り替え
シェーダーを切り替えたいマテリアルがついてるオブジェクトを選択します。InspectorのマテリアルコンポーネントをEasyQuestSwitchにドラッグ。

シェーダーのメニュー右側に丸いアイコンがあるのでそれをクリックするとシェーダーを選択する画面が開きます。

見づらい場合はシェーダー選択画面の右上にあるバーを調節するとテキスト表示にもできます。ここでStandardを選択すると、PC用ではAutodesk、Quest用ではStandardのシェーダーに切り替えることができました。
マテリアルの切り替え
ちなみに、Mesh Rendererコンポーネントをドラッグすれば、マテリアルそのものを切り替えることができます。

Quest対応のためSwitchPlatformする
Easy Quest Switchでそれぞれの設定を終えたら、(PC用のライトベイク、オクルージョンカリングベイク、ワールドアップロードなどが終了したものとします。)Quest用のワールドをアップロードする準備をします。
Quest対応のワールドをアップロードするにはAndroid用にSwitch Platformする必要があります。
Switch Platformとは開発プラットフォームの切り替え作業のことです。PC用、Android用と、プロジェクトのビルド先のプラットフォームを切り替えることができます。

Switch Platformのやり方
※この作業の前にプロジェクトファイルの複製をしておいてください
Unity上部メニュー File > Build Settings…を選択

デフォルトではWindowsに合わせてあるかと思いますが、Androidに変更します。
デフォルトの設定のままで大丈夫だと思いますのでそのまま右下のSwitch Platformを押します。
※初回の切り替えには時間がかかりますので途中で画面を閉じたりしないよう注意してください
ここでBuildのボタンが出ますがそれは押さずに、×を押してウィンドウを閉じてください
Switch Platformをすると、さきほどEasy Quest Switchで設定したように変更されているはずですのでコンポーネントなどを確認してみてください。
これからQuest用のプロジェクトを作成します。
Quest用の変更に対応する
Easy Quest Switchでいろいろ変更しましたので、Quest用に
- ライトベイク
- オクルージョンカリング
などをやり直します。
その他Quest用の変更を各自終えましたら、VRChat SDKでBuildを行ってワールドをアップロードします。

VRChat SDKのContent Managerで見ると、今アップロードしているワールドの情報が見れます。
今アップロードしようとしているワールドには(Current)とついているので、どこのQuest対応ワールドをアップロードしようとしているか確認できます。

2のAlertsなどを解決(またはスルー)したら、3のBuildで、PlatformがAndroidになっていることを確認しBuildしていきます。

VRC上で見てみると、PCとMobileの表示が出てきています。
動作の最終チェックは 実機(Quest)で確認するのがベストです。無い場合は誰かにチェックしてもらうと良いですね。
まとめ
PC用、Quest用のワールドを作成する手順まとめ
🔁 EasyQuestSwitchでライトやマテリアルを分岐設定したら…
- PlatformをPCにスイッチ
- EasyQuestSwitchで「PC向け設定」が適用される
- PC用のライト、マテリアル、オブジェクトが有効になる
- 🔦 ライトベイク & オクルージョンカリング(PC用)
- この状態で、[Lighting]タブからライトベイク
- [Occlusion Culling]ウィンドウからカリング再ベイク
- (Quest用と内容が違うので、必ずPC用に一度ベイクする)
- PC用としてアップロード(VRChat SDK)
- PlatformをAndroidにスイッチ(Quest用)
- EasyQuestSwitchで「Quest向け設定」が適用される
- Quest用の軽量マテリアルや簡素なライト構成になる
- 🔦 ライトベイク & オクルージョンカリング(Quest用)
- こちらも別のベイクデータとして保存される
- Questでは負荷に敏感なので、影の解像度やLightmapサイズを落とすことも多い
- Quest用としてアップロード(VRChat SDK)