メインコンテンツまでスキップ

VRChat互換性ルール

MingToonがVRChatアップロードに対して静的に検査するルールのすべてです。 アップロード前に、何が引っかかるかを事前に確認できます。

この一覧はパッケージに記録された基準であり、VRChat全体の最新の許可リストではありません。 現在のSDK環境はVRChat公式Unityガイドで確認してください。

項目値
ルールバージョン2026.07
検証済みUnityバージョン2022.3.22f1
根拠VRChat Shader Fallback System

実務的な結論​

VRChatアバターのルックを設計する順序です。

  1. 深度なしで成立するルックを先に作ります。 形状シャドウ、投影シャドウ、ノーマルアウトライン、リムライト、リムシェード。
  2. デプス効果はあとから乗せます。 画面ごとに見えるかどうかを比べながら足してください。
  3. 髪のアルファとシルエットを確認します。 サーフェスモードを選び、fallback状態でも確認します。
  4. アップロード用の複製にMingToonのランタイムコンポーネントが0個であることを確認します。
  5. 自分の画面、ミラー、Photo Cameraをそれぞれ確認します。

Fallbackシェーダー​

MingToonのBuilt-inシェーダーは、SubShaderタグで次のように宣言します。

VRCFallback = toonstandardoutline

toonstandardoutlineは、ホストが代替シェーダーを選ぶときに使うタグです。 MingToonの色、影、効果が保持されるという意味ではありません。

透明fallbackの警告を確定した結果として読まないでください

TransparentFallbackUsesUnlitはMingToonの分析ツールによる警告です。 公式ドキュメントの基準では、ToonとTransparent/Fadeを組み合わせた場合が該当します。 その組み合わせはTransparent Unlit経路を使います。 toonstandardoutlineは、その組み合わせとは別の単独のタグです。 実際の結果は、マテリアルのoverride tagとSafetyの状態で確認してください。

標準alias​

Fallbackが値を引き継ぐには、シェーダーがUnity標準の名前を持っている必要があります。 検査するaliasは13個です。

_MainTex _Color _BumpMap _BumpScale
_OcclusionMap _OcclusionStrength
_EmissionMap _EmissionColor
_Cutoff _Mode
_SrcBlend _DstBlend _ZWrite

なければMissingStandardAliasの警告が出ます。 正常なMingToonマテリアルでは出ません。出る場合は、シェーダーが破損しているか手作業で修正されています。

アップロードできるコンポーネント​

アバターに残せるコンポーネントを許可リストとして持っています。12個です。

VRCAvatarDescriptor VRCConstraint
VRCContactReceiver VRCContactSender
VRCHeadChop VRCIKFollower
VRCPhysBone VRCPhysBoneCollider
PipelineManager VRCRaycast
VRCSpatialAudioSource VRCStation

リスト外のコンポーネントがあるとCustomMonoBehaviourNotUploadableが出ます。 <Missing Script>も個数に数えます。

自動削除は保証されません

MingToonのランタイムコンポーネントは、VRChatでIEditorOnlyとして表示されます。 表示したからといって、SDKが必ず削除する保証はありません。 そのため、SDKの処理が終わったbuild cloneを自分で確認する必要があります。 そのcloneにMingToonのコンポーネントが0個かどうかを確認してください。 編集中はアバタールートのMingToonマネージャーをそのまま残し、いつもどおりアップロードしてください。

イシューコード​

PC​

コード深刻度意味
PcRequiresBakedShaderエラーPCアップロード用のマテリアルはベイク済みのバリアントである必要があります
CustomMonoBehaviourNotUploadableエラー許可リスト外のコンポーネントがあります
UnsupportedRenderBackendエラーURPバックエンドとURPマテリアルはVRChat出力には使えません
MissingStandardAlias警告標準のfallback aliasがありません
TransparentFallbackUsesUnlit警告透明表面についての静的な警告です。上の説明を参照してください
CameraDependentFeatureNotPortable警告画面・カメラに依存する効果は、VRChatのカメラ構成に左右されます
UnityVersionNotValidated警告エディターが検証済みバージョンと異なります
ヒント
PcRequiresBakedShaderが出ても手動Bakeは不要です

ビルド時の自動最適化が、アップロードの瞬間にマテリアルを差し替え、終わったら戻します。 この分析ツールは静的な状態を見るためのもので、編集状態で実行すれば当然この項目が出ます。

QuestとAndroid​

コード意味
QuestMingToonNotSupportedQuestにはMingToonシェーダーを直接アップロードできません
QuestRequiresMobileShaderQuestのマテリアルはVRChat/Mobile/シェーダーである必要があります
QuestRequiresToonStandardConversionVRChat/Mobile/Toon Standardへの変換が必要です
QuestOutlineNotSupportedQuest変換はアウトラインを維持しません
QuestToonStandardRequiresOpaqueQuest変換の対象は不透明である必要があります
Quest対応は別の作業です

MingToonはモバイルシェーダーのターゲットではなく、自動変換の経路も提供しません。 Questバージョンを作る予定なら、アウトラインが消え、半透明が使えないという前提でルックを別に設計してください。

デプス効果の条件​

アバター単独では、ホストのカメラ深度を保証できません。 Photo Camera、ワールド設定、ほかの深度供給条件をそれぞれ確認してください。 深度があっても、キュー、カメラ深度への参加、品質、距離設定によって結果は変わります。

マネージャーの ビルド時に深度ライトを削除 は、オフのままが既定です。 オフにしておくと、深度効果を実際に使うときだけアップロード用の複製に補助のDirectional Lightを入れます。 オンにするとそのライトを強制的に外すため、深度効果が画面から消えることがあります。 Avatar Safety、ワールド、ライト設定の影響を受けるため、すべての画面で深度を保証するわけではありません。 VRChatの深度ライトを先に読み、自分の画面、ミラー、Photo Cameraを比較してください。

関連ページ​