mcpField
U
unity-vrc-world-sdk-3

unity-vrc-world-sdk-3

github.com/niaka3dayo開発3411.0k 回インストール6 週間前に更新
リポジトリ

unity-vrc-world-sdk-3 について

World SDK 3 で VRChat ワールドを制作するクリエイター向けのリファレンススキルです。シーン、コンポーネント、パフォーマンス、公開設定をタスク別に案内し、SDK 検証や移行情報、Quest を考慮した設計制約も扱います。

主な機能

  1. 01シーンとコンポーネントの設定ガイド
  2. 02レイヤーと衝突の設定
  3. 03パフォーマンスとライティングの資料
  4. 04SDK ビルド検証とトラブルシューティング
  5. 05ワールドのアップロードと公開手順

活用シーン

  1. 01新しい VRChat ワールドシーンの設定
  2. 02Pickup、Station、Mirror の構成
  3. 03SDK 検証アラートの調査
  4. 04Quest の性能を考慮したワールド準備

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/niaka3dayo/agent-skills-vrc-udon --skill unity-vrc-world-sdk-3

インストール後、Claude Code で/unity-vrc-world-sdk-3を入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

CHEATSHEET.md
LICENSE.txt
assets/templates/
VRC_Pickup_Rigidbody.cs
VRC_Station_Basic.cs
references/
audio-video.md
build-validation.md
components.md
layers.md
lighting.md
performance.md
troubleshooting.md
upload.md

詳細

VRChat World SDK 3 ガイド

目次

セクション内容参照
シーン設定VRC_SceneDescriptor、スポーンこのファイル
コンポーネントPickup、Station、Mirrorreferences/components.md
レイヤーと衝突レイヤー、衝突マトリックスreferences/layers.md
パフォーマンス最適化ガイドreferences/performance.md
ライティングライティング設定references/lighting.md
オーディオと動画オーディオ、動画プレーヤーreferences/audio-video.md
ビルド検証SDK の赤/黄/白の警告references/build-validation.md
ワールドのアップロードアップロードのワークフローreferences/upload.md
トラブルシューティング問題の解決references/troubleshooting.md
チートシートクイックリファレンスCHEATSHEET.md

メソッドの移行

プレフィックスなしでパラメーターを取らないパブリック UdonSharp メソッドは、レガシーなネットワークディスパッチ経由で引き続き呼び出し可能なため、次のパブリックメソッドの名前を変更しました。

変更前変更後
ForceDropPickup_ForceDropPickup
IsHeld_IsHeld
IsOccupied_IsOccupied
StopSound_StopSound
SlowUpdate_SlowUpdate

Inspector のイベント文字列、SendCustomEvent* の呼び出し、遅延イベント、nameof(...) 式、さらにビヘイビアー間の呼び出しも更新してください。古いプレフィックスなしのエイリアスを用意すると、同じレガシーなネットワーク公開が復活するため、互換性エイリアスは提供していません。


よくある間違い(絶対にしないこと)

これらは、気づかないうちにワールドを破損させたり、パフォーマンスを大幅に低下させたり、Quest との互換性を損なったりします。

#絶対にしないこと問題点代わりに行うこと
1ミラーをデフォルトで有効にする(ワールド参加時に有効)ミラーを使うと、負荷の高いシーンのレンダリングが追加されます。その影響は視点、シーン、解像度、デバイスによって異なりますミラーはデフォルトで OFF にし、プレイヤーが操作できる切り替え機能を追加して、対象デバイスごとにプロファイリングします
2プロファイリングせずに、リアルタイムシャドウ付きのリアルタイムディレクショナルライトを使用するリアルタイムシャドウの負荷は、シーンのジオメトリ、視点、対象デバイスによって異なり、Android ではフレーム時間の大部分を占めることがありますベイク済みライトマップとライトプローブを優先し、リアルタイムシャドウを残す場合は、事前に対象デバイスでプロファイリングします
3Respawn Height をワールドの床面と同じ高さ、またはそれ以上に設定するプレイヤーがリスポーン → 落下 → 再度リスポーンという無限ループになり、復帰できなくなります到達できない深さに設定します(例:床が Y=0 の場合、Respawn を Y=-100 に設定)
4新しいプロジェクトで「Setup Layers for VRChat」を実行しないレイヤーの衝突マトリックスはデフォルトで誤っているため、プレイヤーが壁をすり抜けたり、Pickups が床を突き抜けたりしますコライダーを配置する前に、VRChat SDK > Builder > 「Setup Layers for VRChat」を実行します
5Android のビルドプロファイルを設定せずにポストプロセッシングを有効にするAndroid では実行時にポストプロセッシングが無効になるため、作成したエフェクトは表示されません。また、不要なリソースがビルドサイズを増やす可能性がありますポストプロセッシングを削除した Android 専用のビルドプロファイルを使用します
62 つを超える動画プレイヤーを同時に有効にするプレイヤーごとにデコード負荷が大幅に増加します。実際には、2 つを超えるプレイヤーを同時に動作させると、フレーム落ちや音声の問題がよく発生しますシーン開始時に余分なプレイヤーを無効にし、再生中のプレイヤーだけを有効にします
7Android で Cloth を使用する、またはプロファイリングせずに Unity Constraints を多数追加するAndroid では Cloth は無効です。Unity Constraints はワールドで使用できますが、使いすぎるとパフォーマンスに大きく影響する可能性がありますAndroid ビルドから Cloth を削除します。新規作業では VRC Constraints を優先し、制約を多用する構成はプロファイリングします
8ライトマップのベイクを完了せずにアップロードするリアルタイム GI はシーンに応じてレンダリング負荷を大幅に増加させるため、Android で計測せずに代替手段として使用するのは適していませんアップロード前にライトをベイクし、対象デバイスで結果を確認します
9プレイヤーが歩ける面に Default レイヤー(0)を使用する衝突マトリックスはデフォルトで誤っているため、アバターの物理衝突が不安定になり、プレイヤーがジオメトリをすり抜けることがあります歩行可能なジオメトリ、壁、床にはすべて Environment(レイヤー 11)を使用します
10プロファイリングせずに広い範囲で非常に高いライトマップ解像度を使用する高解像度ではテクスチャメモリが大幅に増加する可能性があり、モバイルヘッドセットで OOM クラッシュが起きる一般的な原因です実用的な目安として、10~20 texels/unit(PC)/5~10(Quest)から始めます。VRAM をプロファイリングして調整してください。公式ガイダンスでも Quest では「ライトマップ解像度を低く保つ」よう示されています
11Screen Space または Overlay Canvas に VRC_UIShape を追加するVRC_UIShape には World Space Canvas が必要です。それ以外のモードでは VRChat 実行時に Unity エラーが発生します。UI は見た目上レンダリングされますが操作できず、ワールド作成者にはエラーが表示されませんVRC_UIShape を追加する前に、Canvas > Render Mode を World Space に設定します

リファレンスの読み込みガイド

タスクに必要なものだけを読み込みます。

タスク必須の読み込み対象任意読み込まないもの読み込み理由
新しいシーンを一からセットアップするcomponents.md、layers.mdupload.mdaudio-video.md、troubleshooting.md衝突マトリックスは分かりにくく、コンポーネントの依存関係は事前に確認する必要があります
オブジェクトをつかめるようにする(VRC_Pickup)components.mdlayers.mdaudio-video.md、lighting.mdPickup/Rigidbody の要件は標準的な Unity ドキュメントには記載されていません
ワールドの Dynamics を設定する(PhysBones、Contacts、Box Contacts、Global Avatar PhysBone Colliders、ワールドの VRCPhysBoneCollider アクセス)components.mdlayers.md、troubleshooting.md。Udon コードには unity-vrc-udon-sharp を使用しますaudio-video.md、lighting.mdDynamics コンポーネントの利用可否と Udon アクセスは SDK のバージョンに左右されます
着席機能をセットアップする(VRC_Station)components.mdlayers.mdaudio-video.md、performance.mdStation のコライダーと退出要件は VRChat 固有です
Quest の FPS を最適化するperformance.md、lighting.mdtroubleshooting.mdaudio-video.md、upload.mdQuest の制限は PC と異なり、ベイクの要件も分かりにくいためです
オーディオまたはビデオプレーヤー/ボイスゾーンを追加する(SetVoiceGain、Steam Audio)audio-video.md、components.mdtroubleshooting.mdlighting.md、performance.mdAVPro と Unity Video の選択は VRChat 固有です
WorldQualitySettings、リアルタイムプローブ、または Shadowmask Mode を設定するcomponents.mdlighting.md。Udon API には unity-vrc-udon-sharp を使用しますaudio-video.md、layers.md既存の起動時設定やオーバーライドフラグによって、設定済みの品質設定が上書きされることがあります
ライトをベイクする/ライトマップを設定するlighting.md、performance.md—audio-video.md、layers.mdライトマップの解像度とプローブの配置は Quest の VRAM に影響します
SDK Build Panel の検証アラート、赤/黄/白の警告、または Auto Fix に関する質問build-validation.mdupload.md、troubleshooting.mdaudio-video.md、lighting.mdアラートの重大度、ビルドへの影響、Auto Fix の副作用は、SDK に基づくカタログから確認する必要があります
ワールドをアップロードして公開するupload.mdbuild-validation.md、troubleshooting.mdaudio-video.md、lighting.mdアップロードの手順と検証の順序は崩れやすく、見落としが起きやすいためです
衝突またはレイヤーの問題をデバッグするlayers.md、troubleshooting.mdcomponents.mdaudio-video.md、lighting.mdVRChat の衝突マトリックスは Unity のデフォルトとは異なります
ミラーをセットアップして設定するcomponents.mdperformance.mdaudio-video.md、upload.mdミラーのレイヤーマスク要件は VRChat 固有です

新しいワールドを始める前に — 設計上の決定事項

これらの決定は、後続のあらゆる選択に影響します。コンポーネントを配置する前に、まず決めてください。

決定事項選択肢影響
Quest が必須ですか?はい/いいえはい → 後から付け足すのではなく、初日から Quest First の方針を適用します
想定するプレイヤー数は?1~8/9~40/40 以上スポーン数、ミラーの方針、ビデオプレーヤーの最大数に影響します
主なインタラクションは?つかむ(Pickup)/座る(Station)/見る(Video)/探索する必須となる SDK コンポーネントを決定します
ライティング方式は?ベイク/ミックス/リアルタイムAndroid ではベイクライティングを優先します。リアルタイムライティングやシャドウを使用する場合は、各対象デバイスでプロファイリングしてから維持してください
ネットワーク同期するオブジェクトはありますか?なし/物理(Pickup+ObjectSync)/状態(UdonSynced)Udon スクリプティングを始める前に、同期アーキテクチャを決定します

設計方針:クエスト優先

ワールドを Android で動作させる必要がある場合は、PC ビルドを調整する前にその制約を決めてください。各ターゲットを個別にテストしてください。

Android ヘッドセットの CPU、GPU、メモリ、熱設計の予算は PC とは異なり、デバイスによっても変わります。

  • GPU:リアルタイムライト、シャドウ、オーバードロー、複雑なシェーダーはフレーム時間を大きく左右することがあります
  • メモリ:テクスチャとライトマップは、クライアントと限られたシステムメモリを共有します
  • 熱:負荷が持続すると、セッション中に利用可能なパフォーマンスが低下することがあります

各ターゲットデバイスを個別に測定してください。PC での結果から Android のパフォーマンスは判断できず、Quest での単一クライアントの結果から特定の PC のフレームレートを予測することもできません。公開する前に Unity Profiler と公式の Android コンテンツ最適化ガイドを使用してください。

「Quest のサポートは後から追加」する形で PC 専用に最適化することは絶対に避けてください。その時点では、ライティング、マテリアル、メッシュ密度がすべて PC 品質に固定されており、Quest への移植にはすべてを再構築する必要があります。

Quest 優先の連鎖 — Quest が必須の場合、後続するすべての判断に制約が引き継がれます。

Quest required? → Yes
  ├── Shaders: World shaders are unrestricted; prefer mobile-compatible shaders and profile custom ones
  ├── Lighting: Baked by default; retain realtime effects only after target-device profiling
  ├── Geometry: Budget approximately 250,000 triangles for the whole world; reduce further when profiling calls for it
  ├── Materials: Minimize unique materials and draw calls; no fixed world upload limit is documented
  ├── Audio: Mono, compressed, limited concurrent sources
  └── Physics: Simplified colliders, minimal Rigidbodies

SDK バージョン

現在のサポート対象/最終確認済み:SDK 3.10.5

v4.0.0 以降の方針は、最新の安定版 SDK のみを対象とすることです。このリポジトリで確認された後に限り、新しい安定版リリースへサポートを移行します。新しい安定版リリースが自動的にサポート対象になるわけではありません。現在の最終確認済みターゲット:3.10.5。

以下の表には、移行時の参考として機能の導入履歴を残しています。SDK 3.7.1~3.10.4 の項目は履歴情報のみであり、この Skill の現在のサポート対象または検証ターゲットではありません。これはこの Skill のサポート範囲を示すもので、VRChat 自体の SDK ポリシーについて述べるものではありません。参照資料で過去の移行ケースとして明示されている場合を除き、生成される主なサンプルは SDK 3.10.5 を対象とします。

SDK新機能状態
3.7.1StringBuilder、Regex、System.Random過去の情報
3.7.4Persistence API (PlayerData/PlayerObject)過去の情報
3.7.6Multi-platform Build & Publish(PC と Android の同時ビルド)過去の情報
3.8.0PhysBone の依存関係ソート、Force Kinematic On Remote、Drone API過去の情報
3.8.1パラメーター付きの [NetworkCallable] イベント、Others/Self ターゲット、VRCCameraSettings過去の情報
3.9.0Camera Dolly API、Auto Hold の簡略化、VRCCameraSettings の追加(CullingMask、GetCurrentCamera)過去の情報
3.10.0Dynamics for Worlds(PhysBones、Contacts、VRC Constraints)過去の情報
3.10.1バグ修正と安定性の向上過去の情報
3.10.2EventTiming の拡張、PhysBones の修正、シェーダー時間のグローバル変数過去の情報
3.10.3VRCPlayerApi.isVRCPlus、VRCRaycast(アバター)、Mirror の描画順修正過去の情報
3.10.4VRCTween、ボックス形状の Contacts、Global Avatar PhysBone Colliders、ワールドでの VRCPhysBoneCollider の Udon アクセス、Data Container の容量 API過去の情報
3.10.5WorldQualitySettings、Pickup Outline Renderers、Pipeline Manager の検証、書き込み可能な VRCQualitySettings と Assembly Version Defines → UdonSharp Skill現行/最終確認済み

公開には SDK 3.10.5 を使用し、プロジェクトを移行する前に、バージョン依存の API を対応するリリースノートで確認してください。


シーンのセットアップ

VRC_SceneDescriptor(必須)

すべての VRChat ワールドに、正確に 1 つ必要です。

[VRCWorld Prefab]
├── VRC_SceneDescriptor (Required)
├── VRC_PipelineManager (Auto-added)
├── VRCWorldSettings (Optional - movement speed settings)
└── AvatarScalingSettings (Optional - avatar scale limits)
主なプロパティ
プロパティ型説明デフォルト
SpawnsTransform[]スポーンポイントの配列Descriptor position
Spawn OrderenumFirst/Sequential/Random/Demo(First:常に最初のスポーンポイントを使用します。Demo:スポーンポイントをルームスケールの中心にします)Sequential
Spawn OrientationenumDefault/Align Player With Spawn Point/Align Room With Spawn PointDefault
Respawn Heightfloatリスポーンする高さ(Y 軸)-100
Object Behaviour At RespawnenumRespawn/DestroyRespawn
Reference CameraCameraプレイヤーカメラ設定の参照None
Forbid User Portalsboolユーザーポータルを無効にしますfalse
Voice Falloff Rangefloat音声減衰範囲-
Interact PassthroughLayerMaskインタラクトを通過させるレイヤーNothing
Maximum Capacityintプレイヤー数の最大値(上限)-
Recommended Capacityint推奨プレイヤー数(UI)-
Reference Camera の使用方法
// Usage:
// 1. Adjust Near/Far clipping (recommended for VR: 0.01 ~ 1000)
// 2. Apply Post Processing effects
// 3. Set background color

// ⚠️ MUST disable the Camera component after configuring — an active Reference Camera
//    renders a second viewport. VRChat reads only the camera settings, not its output.
// Assign the configured (disabled) Camera to VRC_SceneDescriptor > Reference Camera.
スポーンポイントの設定
// Spawn points are empty GameObjects assigned to VRC_SceneDescriptor > Spawns array.
// Players enter facing the Z+ direction of the spawn Transform.

// VRChat-specific requirements:
// - At least 2-3 spawn points (for simultaneous joins — single spawn causes overlap)
// - Place slightly above the floor (~0.1m) to avoid floor collision on spawn
// - Keep clear of obstacles (VR player guardian area is larger than their avatar)
// - Account for VR guardian boundaries — desktop player sizes differ from VR
必須設定チェックリスト
□ Exactly one VRCWorld Prefab exists in the scene
□ At least one Transform set in Spawns
□ Respawn Height set to an appropriate value (well below the floor)
□ Reference Camera configured for clipping distances (for VR)
□ Layer/Collision Matrix correctly configured
□ "Setup Layers for VRChat" has been executed

コンポーネント

必ずお読みください:以下の VRC コンポーネントを設定する前に、references/components.md(約 800 行)をお読みください。依存関係の要件や Udon イベントフックは全体に記載されているため、全文を読み込んでください。 読み込まないでください:references/audio-video.md(タスクにオーディオ/ビデオコンポーネントが含まれる場合を除く)、references/lighting.md。

コンポーネント必須要素用途SDK
VRC_SceneDescriptor-ワールド設定(必須)-
VRC_PickupCollider + Rigidbodyつかめるオブジェクト-
VRC_StationCollider着席できる場所-
VRC_ObjectSyncRigidbodyTransform/物理演算の自動同期-
VRC_MirrorReflection-ミラー(⚠️ 負荷大)-
VRC_PortalMarker-他のワールドへのポータル-
VRC_SpatialAudioSourceAudioSource3D オーディオ-
VRC_UIShapeCanvas (World Space)Unity UI の操作-
VRC_AvatarPedestal-アバターの表示/切り替え-
VRC_CameraDolly-カメラドリー3.9+
VRCCameraSettingsNone (static API)Udon からカメラ情報を読み取る3.8.1+
VRC_ObjectSync と UdonSynced の比較
シナリオVRC_ObjectSyncUdonSynced 変数
投げられるオブジェクト/物理演算✅ 推奨❌
状態のみ/複雑なロジック❌✅ 推奨

SDK 3.8.0 以降:Force Kinematic On Remote — オーナーではないクライアント上で Rigidbody をキネマティックにし、予期しない物理挙動を防ぎます。


レイヤーと衝突

VRChat の予約済みレイヤー
レイヤー番号名前用途
0Default一般オブジェクト
9Playerリモートプレイヤー
10PlayerLocalローカルプレイヤー
11Environment環境(壁、床)
13Pickupつかめるオブジェクト
14PickupNoEnvironment環境と衝突しないピックアップ
17Walkthrough通り抜け可能なオブジェクト
18MirrorReflectionミラー反射のみ
22-31ユーザーレイヤーカスタム用途に使用可能
レイヤーの設定手順
1. VRChat SDK > Show Control Panel
2. Builder tab
3. Click "Setup Layers for VRChat"
4. Collision Matrix is automatically configured

必ずお読みください:衝突の設定や物理演算のデバッグを行う際は、references/layers.mdをお読みください。Unity のデフォルトの衝突マトリックスは VRChat に適した設定とは異なります。必ず確認してください。 読み込まないでください:references/audio-video.md、references/upload.md。


パフォーマンス

パフォーマンス基準

対応デバイス、代表的なシーン、想定プレイヤー数に基づいて、パフォーマンス目標を設定します。プロファイリングを行う前に、各ビルド対象のフレーム時間またはフレームレートの目標を記録してください。VRChat では、ワールドのアップロードに一律の FPS 閾値は定められていません。

初期予算
項目推奨事項理由
ミラー1 つ、デフォルトで OFFシーン全体を 2 倍レンダリングします
ビデオプレイヤー1~2 台を推奨デコードのオーバーヘッド。文書化された厳密な上限はありません
リアルタイムライティングデフォルトではベイク対象デバイスでプロファイリングを行った後に限り、リアルタイムライトやシャドウを維持します
ライトマップベイクして確認Android における主要なライティング方式
Quest/Android の制限
コンポーネントPCQuest
Dynamic Bones✅❌ 無効
Cloth✅❌ 無効
Post-Processing✅❌ 無効
Unity Constraints✅✅ ワールドで使用可能。コストをプロファイリングしてください
リアルタイムライト✅⚠️ 負荷が高いため、デバイス上での根拠がある場合に限り使用してください
パフォーマンス最適化のワークフロー
ボトルネックの種類主な指標参照
CPU バウンドスクリプト時間が長い、物理演算のオーバーヘッドperformance.md §最適化ワークフロー
GPU バウンドドローコール、オーバードロー、シェーダーの複雑さperformance.md §最適化ワークフロー
メモリVRAM 使用量、テクスチャサイズ、メッシュ数performance.md §最適化ワークフロー

必ずお読みください:最適化する前にperformance.mdを読み込んでください。まず測定し、最も大きなボトルネックを対象にします。また、Quest の最適化についてはreferences/lighting.mdをお読みください。 読み込まないでください:references/audio-video.md、references/upload.md。


ライティング

ベイクドライティング(デフォルト)
✅ Recommended settings:
├── Lightmapper: Progressive GPU
├── Lightmap Resolution: 10-20 texels/unit (PC) / 5-10 (Quest)
├── Light Mode: Baked by default; use Mixed/Realtime only when the effect is necessary and measured
└── Light Probes: Place along player paths

❌ Avoid:
├── Realtime lights (dynamic shadows)
├── High-resolution lightmaps (memory consumption)
└── Excessive Reflection Probes

必ずお読みください:ライトマップの設定やライトプローブの配置を行う際は、references/lighting.mdをお読みください。 読み込まないでください:references/audio-video.md、references/upload.md、references/layers.md。


オーディオとビデオ

VRC_SpatialAudioSource

ワールド内の各 AudioSource に VRC_SpatialAudioSource を追加してください。AudioSource のみの場合、VRChat SDK Build Panel に警告が表示されます。コンパニオンコンポーネントは意図的に追加し、安易に Auto Fix を既定として使用しないでください。また、依頼がない限り、既存の VRC_SpatialAudioSource の値や調整済みの AudioSource カーブを上書きしないでください。

プロパティ説明基準値/安全に保持するための注意事項
Gain音量ブースト(0~24 dB)10 dB が一般的な既定値です。音量を維持するため、警告対策のみの追加では 0 dB を使用してください
Near減衰開始距離サウンドに意図的な近距離音場が必要でない限り、0m にします
Far減衰終了距離既存の maxDistance または意図した可聴範囲に合わせます。安易に既定値や Auto Fix の範囲を適用しないでください
Volumetric Radius音源の広がり点音源の場合は 0m にします。広がりのある音源では意図的に設定してください
Enable Spatialization3D 位置設定意図的な 2D/全体音声では false、設定された 3D 音声では true にします

既存の AudioSource を保持する場合は、volume、spatialBlend、rolloffMode、maxDistance、カスタムカーブを維持し、Gain は 0 dB にしてください。調整済みの 3D ロールオフには Use AudioSource Volume Curve を有効にします。Far は既存の maxDistance または意図した可聴範囲に合わせ、既存の minDistance/Near 値が意図的に設定されていない限り、Near は 0m にしてください。

ビデオプレーヤーの選択
機能AVProUnity Video
ライブストリーミング✅❌
エディタープレビュー❌✅
YouTube/Twitch✅❌
Quest 対応✅✅

必ずお読みください references/audio-video.md:VRC_SpatialAudioSource またはビデオプレーヤーの設定について。 任意:オーディオ/ビデオコンポーネントを接続する場合は references/components.md。 読み込まないでください:references/lighting.md、references/performance.md。


ワールドのアップロード

アップロード手順
1. Check Validation
   └── VRChat SDK > Build Panel > Validations

2. Build & Test (local testing)
   └── "Build & Test New Build"
   └── Supports multi-client testing

3. Upload
   └── "Build and Upload"
   └── Set Content Warnings
   └── Set Capacity

4. Publish settings
   └── Configure public/private on the VRChat website
アップロード前チェックリスト
□ VRC_SceneDescriptor × 1
□ Spawns configured
□ Respawn Height appropriate
□ Layer/Collision Matrix verified
□ Light baking complete
□ Mirror default OFF
□ Project-defined frame-time or frame-rate target met in representative scenes and player counts
□ No Validation errors
□ Content Warnings set
□ Capacity set

必ずお読みください:Build & Upload を実行する前に references/upload.md を確認してください。アップロード前チェックリストのすべての項目を先に確認してください。 必ずお読みください:ユーザーから SDK Build Panel の検証、赤/黄/白の警告、Auto Fix、またはコピーされた検証メッセージについて質問された場合は、references/build-validation.md を確認してください。 読み込まないでください:references/audio-video.md、references/lighting.md。


トラブルシューティング

クイックルーター

症状のカテゴリを特定し、該当する参照セクションに移動してください。

症状のカテゴリよくある原因参照
プレイヤーが壁や床をすり抜けるレイヤーの設定が実行されていない、ジオメトリが Environment(11)に設定されていないtroubleshooting.md §Layer & Collision
つかめない/ピックアップが機能しないCollider、Rigidbody、または VRC_Pickup コンポーネントがないtroubleshooting.md §Component
オブジェクトが同期しない/元の位置に戻るVRC_ObjectSync がない、または所有権が移譲されていないtroubleshooting.md §Networking
座れない/Station をすり抜けるCollider がない、Station Enter Player Location の調整が必要troubleshooting.md §Component
ミラーに映らないLayers のマスクに Player/PlayerLocal/MirrorReflection がないtroubleshooting.md §Component
ビルド/アップロードに失敗するSceneDescriptor がない、スクリプトエラー、レイヤーの警告troubleshooting.md §Build
パフォーマンスの問題ミラーが ON、リアルタイムライト、ライトマップが未ベイクperformance.md
エディターでは動作するが VRChat では失敗するエディターの Play ≠ SDK ランタイム。Build & Test を使用してくださいtroubleshooting.md §Editor
UI が表示されるがクリックできないScreen Space/Overlay Canvas 上の VRC_UIShape(NEVER #11 を参照)troubleshooting.md §Editor

問題の診断時は、references/troubleshooting.md を必ず読み込んでください。トラブルシューティング以外のタスクでは読み込まないでください。


関連スキル

C# スクリプト、ネットワーク同期、UdonSharp イベントの実装には、unity-vrc-udon-sharp スキルを使用してください。


テンプレート(assets/templates/)

一般的な SDK コンポーネントのパターン向けのスターターテンプレートです。リポジトリのチェックでは静的チェックを行います。対象の SDK プロジェクトにインポートし、コンパイルして、使用前に Build & Test を実行してください。Inspector のフィールドを調整し、ワールドに合わせてイベントのスタブを拡張してください。

テンプレート用途
VRC_Pickup_Rigidbody.csRigidbody を使用する VRC_Pickup — OnPickup/OnDrop/OnPickupUseDown/OnPickupUseUp イベント、所有権の移譲、オーディオフィードバック
VRC_Station_Basic.csVRC_Station コントローラー — OnStationEntered/OnStationExited イベント、PlayerMobility、強制退出 API

参考資料

ファイル内容おおよその行数
references/components.mdすべてのコンポーネントの詳細、コンポーネントの許可リスト、Worlds 向け Dynamics、エディター専用の除外(EditorOnly タグ/IEditorOnly)800+
references/layers.mdレイヤーと衝突230+
references/performance.mdパフォーマンスの最適化700+
references/lighting.mdライティング設定400+
references/audio-video.mdオーディオとビデオ600+
references/build-validation.mdSDK 3.10.5 のビルドパネルに表示される赤/黄/白の検証アラート一覧、安全な修正方法、自動修正の副作用180+
references/upload.mdアップロード手順300+
references/troubleshooting.mdトラブルシューティングガイド500+
CHEATSHEET.mdクイックリファレンス200+

コメント