Agent skill

Unity Vrc World SDK 3

by niaka3dayo in niaka3dayo/agent-skills-vrc-udon

VRChat World SDK 3 guide for scene and Inspector setup, component placement, optimization, and upload.

MITAuto-check passedGame Development

Install Unity Vrc World SDK 3

skills CLI
$ npx skills add niaka3dayo/agent-skills-vrc-udon --skill unity-vrc-world-sdk-3 -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install niaka3dayo/agent-skills-vrc-udon unity-vrc-world-sdk-3 --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/niaka3dayo/agent-skills-vrc-udon.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/unity-vrc-world-sdk-3 .claude/skills/unity-vrc-world-sdk-3 && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
unity-vrc-world-sdk-3
GitHub stars
332
Token cost
~7.8k tokens
SKILL.md length
2,416 words
Files
13 (incl. references, assets)
Skills in repo
3
Repo updated
First seen
Licence
MIT

At a glance

VRChat World SDK 3 guide for scene and Inspector setup, component placement, optimization, and upload.

  • VRChat world scene configuration
  • SKILL.md covers Table of Contents, Method Migration, Common Mistakes (NEVER List) and Reference Loading Guide, plus 10 more sections
  • Runs C# scripts from its folder
  • VRC SDK components

What it does

Unity Vrc World SDK 3 is an agent skill from niaka3dayo/agent-skills-vrc-udon. VRChat World SDK 3 guide for scene and Inspector setup, component placement, optimization, and upload. Use for VRChat world scene configuration, VRC SDK components, layers, baked lighting, Quest/Android performance, Dynamics for Worlds, Build Panel warning triage, validation, and upload. Covers WorldQualitySettings, VRCSceneDescriptor, VRCPickup, VRCStation, VRCMirror, VRCObjectSync, VRCCameraDolly, spawn points, collision matrices, PhysBone and Contact component placement, Box Contacts, Global Avatar PhysBone…

Its SKILL.md is about 7.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 15 other files, including reference files and assets (for example `CHEATSHEET.md`, `references/audio-video.md` and `references/build-validation.md`).

It sits in Game Development. It works with C# and Android. The repository describes itself as: Skills, rules, and validation hooks that teach AI coding agents to generate correct UdonSharp code. The licence is MIT.

When your agent uses it

  • VRChat world scene configuration
  • VRC SDK components
  • Quest/Android performance
  • Dynamics for Worlds

Example prompts

  • “/unity-vrc-world-sdk-3”

What it can do on your machine

Read from SKILL.md and the folder at commit f6dc6c0. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships script files (C#), which the agent can run.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • creators.vrchat.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Unity Vrc World SDK 3 loads about 7.8k tokens when it runs, and up to ~45k if it reads all its reference files. Until then it costs about 259 tokens; SKILL.md has 2,416 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~259
When it runs · the whole SKILL.md, loaded when a task matches
~7.8k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~45k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from niaka3dayo/agent-skills-vrc-udon at commit f6dc6c0, republished under its MIT licence (© niaka3dayo). 2,416 words, ~7,805 tokens.

Download SKILL.mdSave it as .claude/skills/unity-vrc-world-sdk-3/SKILL.md (or your agent's skills folder). This skill also uses 12 other files; get the full folder from GitHub.
name
unity-vrc-world-sdk-3
description
VRChat World SDK 3 guide for scene and Inspector setup, component placement, optimization, and upload. Use for VRChat world scene configuration, VRC SDK components, layers, baked lighting, Quest/Android performance, Dynamics for Worlds, Build Panel warning triage, validation, and upload. Covers WorldQualitySettings, VRC_SceneDescriptor, VRC_Pickup, VRC_Station, VRC_Mirror, VRC_ObjectSync, VRC_CameraDolly, spawn points, collision matrices, PhysBone and Contact component placement, Box Contacts, Global Avatar PhysBone Colliders, and VRCPhysBoneCollider component setup. Active support / last verified: SDK 3.10.5. Triggers on: VRChat world scene, VRC SDK, scene setup, component placement, optimization, Quest support, light baking, upload, SDK validation, Build Panel warning, Auto Fix, red warning, yellow warning, or white warning. Do not use for UdonSharp C# or VRCTween calls; use unity-vrc-udon-sharp for runtime scripting. UdonSharp package, asmdef, and Version Defines work also belongs to that skill.
license
MIT
metadata.author
niaka3dayo
metadata.version
4.1.1
metadata.tags
vrchat, world-sdk, scene-setup, optimization, components, upload, sdk-validation, build-panel

VRChat World SDK 3 Guide

Table of Contents

SectionContentReference
Scene SetupVRC_SceneDescriptor, SpawnThis file
ComponentsPickup, Station, Mirrorreferences/components.md
Layers & CollisionLayers, Collision Matrixreferences/layers.md
PerformanceOptimization guidereferences/performance.md
LightingLighting settingsreferences/lighting.md
Audio & VideoAudio, Video playersreferences/audio-video.md
Build ValidationRed/yellow/white SDK alertsreferences/build-validation.md
World UploadUpload workflowreferences/upload.md
TroubleshootingProblem solvingreferences/troubleshooting.md
CheatsheetQuick referenceCHEATSHEET.md

Method Migration

The following public methods were renamed because an unprefixed, parameterless public UdonSharp method remains callable through legacy network dispatch:

BeforeAfter
ForceDropPickup_ForceDropPickup
IsHeld_IsHeld
IsOccupied_IsOccupied
StopSound_StopSound
SlowUpdate_SlowUpdate

Update Inspector event strings, SendCustomEvent* calls, delayed events and nameof(...) expressions, and cross-behaviour calls. Compatibility aliases are not provided because an old unprefixed alias would restore the same legacy network exposure.


Common Mistakes (NEVER List)

These cause silent world failures, performance disasters, or Quest incompatibility:

#NEVER do thisWhy it hurtsUse instead
1Enable Mirror by default (active on world join)A mirror adds another costly scene render; the impact depends on view, scene, resolution, and deviceDefault Mirror OFF; add a player-controlled toggle and profile each target device
2Use realtime directional lights with real-time shadows without profilingRealtime shadow cost varies with scene geometry, view, and target device and can dominate frame time on AndroidPrefer baked lightmaps + light probes; profile the target device before keeping any realtime shadows
3Set Respawn Height at or above the world floorPlayer respawns → falls → respawns again → infinite loop; players cannot recoverSet to an unreachable depth (e.g., floor at Y=0 → Respawn at Y=-100)
4Skip "Setup Layers for VRChat" on a new projectLayer collision matrix is wrong by default — players walk through walls, Pickups clip floorsRun VRChat SDK > Builder > "Setup Layers for VRChat" before placing any colliders
5Enable Post-Processing without an Android build profilePost-processing is disabled at runtime on Android, so the authored effect will not appear and unnecessary resources can still enlarge the buildUse a separate Android build profile with post-processing removed
6Place more than 2 active video players simultaneouslyEach player adds significant decoding overhead; running >2 simultaneously is a common cause of frame drops and audio issues in practiceDisable extra players at scene start; activate only the currently playing one
7Use Cloth on Android, or add many Unity Constraints without profilingCloth is disabled on Android. Unity Constraints are permitted in worlds, but overuse can significantly affect performanceRemove Cloth from the Android build; prefer VRC Constraints for new work and profile any constraint-heavy setup
8Upload without completing a lightmap bakeRealtime GI adds substantial scene-dependent render cost and is unsuitable as an unmeasured fallback on AndroidBake lights before upload, then verify the result on the target device
9Place player walkable surfaces on Default layer (0)Collision matrix is wrong by default — avatar physics collision is unreliable; players may clip through geometryUse Environment (layer 11) for all walkable geometry, walls, and floors
10Use very high lightmap resolution for large areas without profilingTexture memory can spike significantly at high resolutions; a common cause of OOM crashes on mobile headsetsStart at 10-20 texels/unit (PC) / 5-10 (Quest) as a practical guideline; profile VRAM and adjust — official guidance says "keep lightmap resolution low" for Quest
11Add VRC_UIShape to a Screen Space or Overlay CanvasVRC_UIShape requires World Space Canvas; other modes throw a runtime Unity error in VRChat — the UI renders visually but is not interactive, with no visible error to the world builderSet Canvas > Render Mode to World Space before adding VRC_UIShape

Reference Loading Guide

Load only what the task requires.

TaskMANDATORY READOptionalDo NOT LoadLoad Rationale
Setting up a new scene from scratchcomponents.md, layers.mdupload.mdaudio-video.md, troubleshooting.mdCollision matrix non-obvious; component deps needed upfront
Making objects grabbable (VRC_Pickup)components.mdlayers.mdaudio-video.md, lighting.mdPickup/Rigidbody requirements not in standard Unity docs
Configuring Dynamics for Worlds (PhysBones, Contacts, Box Contacts, Global Avatar PhysBone Colliders, world VRCPhysBoneCollider access)components.mdlayers.md, troubleshooting.md; use unity-vrc-udon-sharp for Udon codeaudio-video.md, lighting.mdDynamics component availability and Udon access are SDK-version sensitive
Setting up seating (VRC_Station)components.mdlayers.mdaudio-video.md, performance.mdStation collider + exit requirements are VRChat-specific
Optimizing FPS for Questperformance.md, lighting.mdtroubleshooting.mdaudio-video.md, upload.mdQuest limits differ from PC; bake requirements non-obvious
Adding audio or video player / voice zones (SetVoiceGain, Steam Audio)audio-video.md, components.mdtroubleshooting.mdlighting.md, performance.mdAVPro vs Unity Video selection is VRChat-specific
Configuring WorldQualitySettings, realtime probes, or Shadowmask Modecomponents.mdlighting.md; Udon API: unity-vrc-udon-sharpaudio-video.md, layers.mdExisting startup setters and override flags can overwrite authored quality choices
Baking lights / lightmap setuplighting.md, performance.md—audio-video.md, layers.mdLightmap resolution and probe placement affect Quest VRAM
SDK Build Panel validation alerts, red/yellow/white warnings, or Auto Fix questionsbuild-validation.mdupload.md, troubleshooting.mdaudio-video.md, lighting.mdAlert severity, build consequence, and Auto Fix side effects must come from SDK-backed catalog
World upload and publishupload.mdbuild-validation.md, troubleshooting.mdaudio-video.md, lighting.mdUpload steps and validation order are fragile; easy to miss
Debugging collision or layer issueslayers.md, troubleshooting.mdcomponents.mdaudio-video.md, lighting.mdVRChat collision matrix differs from Unity default
Mirror setup and configurationcomponents.mdperformance.mdaudio-video.md, upload.mdMirror layer mask requirements are VRChat-specific

Before Starting a New World — Design Decisions

These decisions shape every downstream choice. Make them first, before placing any component.

DecisionOptionsImplication
Quest required?Yes / NoYes → Quest First philosophy applies from day 0, not as a retrofit
Expected player count?1–8 / 9–40 / 40+Affects spawn count, mirror policy, max video players
Primary interaction?Grab (Pickup) / Sit (Station) / Watch (Video) / ExploreDetermines which SDK components are mandatory
Lighting approach?Baked / Mixed / RealtimePrefer baked lighting on Android; profile each target device before keeping realtime lighting or shadows
Networked objects?None / Physics (Pickup+ObjectSync) / State (UdonSynced)Determines sync architecture before Udon scripting begins

Design Philosophy: Quest First

If the world must run on Android, decide those constraints before tuning the PC build. Test each target separately.

Android headsets have mobile CPU, GPU, memory, and thermal budgets that differ from PC and vary by device:

  • GPU: Realtime lights, shadows, overdraw, and complex shaders can dominate frame time
  • Memory: Textures and lightmaps share limited system memory with the client
  • Thermals: Sustained load can reduce available performance during a session

Measure each target device independently; PC results do not establish Android performance, and a single-client Quest result does not predict a particular PC frame rate. Use the Unity Profiler and the official Android content optimization guide before publishing.

NEVER optimize exclusively for PC with "Quest support added later" — by that point, lighting, materials, and mesh density are all locked to PC quality, and the Quest port requires rebuilding everything.

Quest First Cascade — when Quest is required, every downstream decision inherits constraints:

text
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 Versions

Active support / last verified: SDK 3.10.5

From v4.0.0 onward, the policy is latest stable SDK only; support moves to a new stable release only after this repository verifies it. A new stable release is not supported automatically. Current last verified target: 3.10.5.

The table below keeps feature-introduction history for migration reference. SDK 3.7.1-3.10.4 entries are historical information only; they are not active support or validation targets for this Skill. This is the Skill's support boundary, not a statement about VRChat's own SDK policy. Primary generated examples target SDK 3.10.5 unless a reference explicitly marks a historical migration case.

SDKNew FeaturesStatus
3.7.1StringBuilder, Regex, System.RandomHistorical
3.7.4Persistence API (PlayerData/PlayerObject)Historical
3.7.6Multi-platform Build & Publish (simultaneous PC + Android builds)Historical
3.8.0PhysBone dependency sorting, Force Kinematic On Remote, Drone APIHistorical
3.8.1[NetworkCallable] events with parameters, Others/Self targets, VRCCameraSettingsHistorical
3.9.0Camera Dolly API, Auto Hold simplification, VRCCameraSettings additions (CullingMask, GetCurrentCamera)Historical
3.10.0Dynamics for Worlds (PhysBones, Contacts, VRC Constraints)Historical
3.10.1Bug fixes and stability improvementsHistorical
3.10.2EventTiming extensions, PhysBones fixes, shader time globalsHistorical
3.10.3VRCPlayerApi.isVRCPlus, VRCRaycast (avatar), Mirror render-order fixHistorical
3.10.4VRCTween, Box-shaped Contacts, Global Avatar PhysBone Colliders, world VRCPhysBoneCollider Udon access, Data Container capacity APIsHistorical
3.10.5WorldQualitySettings, Pickup Outline Renderers, Pipeline Manager validation; writable VRCQualitySettings and Assembly Version Defines → UdonSharp SkillActive / Last verified

Use SDK 3.10.5 for publishing and verify version-sensitive APIs against the matching release notes before migrating a project.


Scene Setup

VRC_SceneDescriptor (Required)

Exactly one is required in every VRChat world.

text
[VRCWorld Prefab]
├── VRC_SceneDescriptor (Required)
├── VRC_PipelineManager (Auto-added)
├── VRCWorldSettings (Optional - movement speed settings)
└── AvatarScalingSettings (Optional - avatar scale limits)
Key Properties
PropertyTypeDescriptionDefault
SpawnsTransform[]Array of spawn pointsDescriptor position
Spawn OrderenumFirst/Sequential/Random/Demo (First: always the first spawn; Demo: spawn point is the center of room scale)Sequential
Spawn OrientationenumDefault/Align Player With Spawn Point/Align Room With Spawn PointDefault
Respawn HeightfloatRespawn height (Y axis)-100
Object Behaviour At RespawnenumRespawn/DestroyRespawn
Reference CameraCameraPlayer camera settings referenceNone
Forbid User PortalsboolDisable user portalsfalse
Voice Falloff RangefloatVoice attenuation range-
Interact PassthroughLayerMaskInteract passthrough layersNothing
Maximum CapacityintMax player count (hard limit)-
Recommended CapacityintRecommended player count (UI)-
Show full SKILL.md (945 more words)Show less
Reference Camera Usage
csharp
// 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 Setup
csharp
// 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
Required Setup Checklist
text
□ 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

Components

MANDATORY READ references/components.md (~800 lines) before configuring any VRC component below. Load in full — dependency requirements and Udon event hooks are distributed throughout. Do NOT Load: references/audio-video.md (unless the task involves audio/video components), references/lighting.md.

ComponentRequired ElementsPurposeSDK
VRC_SceneDescriptor-World settings (required)-
VRC_PickupCollider + RigidbodyGrabbable objects-
VRC_StationColliderSittable locations-
VRC_ObjectSyncRigidbodyAuto-sync Transform/physics-
VRC_MirrorReflection-Mirror (⚠️ high cost)-
VRC_PortalMarker-Portal to other worlds-
VRC_SpatialAudioSourceAudioSource3D audio-
VRC_UIShapeCanvas (World Space)Unity UI interaction-
VRC_AvatarPedestal-Avatar display/switch-
VRC_CameraDolly-Camera dolly3.9+
VRCCameraSettingsNone (static API)Read camera info from Udon3.8.1+
VRC_ObjectSync vs UdonSynced
ScenarioVRC_ObjectSyncUdonSynced variables
Throwable objects / physics✅ Recommended❌
State only / complex logic❌✅ Recommended

SDK 3.8.0+: Force Kinematic On Remote — Makes Rigidbody kinematic on non-owner clients, preventing unexpected physics behavior.


Layers & Collision

VRChat Reserved Layers
Layer #NamePurpose
0DefaultGeneral objects
9PlayerRemote players
10PlayerLocalLocal player
11EnvironmentEnvironment (walls, floors)
13PickupGrabbable objects
14PickupNoEnvironmentPickups that don't collide with environment
17WalkthroughWalk-through objects
18MirrorReflectionMirror reflection only
22-31User LayersAvailable for custom use
Layer Setup Steps
text
1. VRChat SDK > Show Control Panel
2. Builder tab
3. Click "Setup Layers for VRChat"
4. Collision Matrix is automatically configured

MANDATORY READ references/layers.md when setting up collision or debugging physics. The default Unity collision matrix differs from the VRChat-correct one — always verify. Do NOT Load: references/audio-video.md, references/upload.md.


Performance

Performance Criteria

Define the performance target from the supported devices, representative scenes, and expected player count. Record a frame-time or frame-rate target for each build target before profiling. VRChat does not provide one fixed FPS upload threshold for worlds.

Starting Budgets
ItemRecommendedReason
Mirrors1, default OFFRenders the entire scene 2x
Video players1-2 recommendedDecoding overhead; no documented hard limit
Realtime lightingBaked by defaultKeep realtime lights or shadows only after target-device profiling
LightmapsBake and verifyPrimary Android lighting path
Quest/Android Restrictions
ComponentPCQuest
Dynamic Bones✅❌ Disabled
Cloth✅❌ Disabled
Post-Processing✅❌ Disabled
Unity Constraints✅✅ Permitted in worlds; profile cost
Realtime lights✅⚠️ Expensive; keep only with device evidence
Performance Optimization Workflow
Bottleneck TypeKey IndicatorsReference
CPU-boundHigh script time, physics overheadperformance.md §Optimization-Workflow
GPU-boundDraw calls, overdraw, shader complexityperformance.md §Optimization-Workflow
MemoryVRAM usage, texture size, mesh countperformance.md §Optimization-Workflow

MANDATORY READ: Load performance.md before optimizing — measure first, then target the largest bottleneck — and references/lighting.md for Quest optimization. Do NOT Load: references/audio-video.md, references/upload.md.


Lighting

Baked Lighting (Default)
text
✅ 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

MANDATORY READ references/lighting.md when configuring lightmaps or light probe placement. Do NOT Load: references/audio-video.md, references/upload.md, references/layers.md.


Audio & Video

VRC_SpatialAudioSource

Plan each world AudioSource with a VRC_SpatialAudioSource: a bare AudioSource triggers a VRChat SDK Build Panel warning. Add the companion deliberately, avoid Auto Fix as a blind default, and do not overwrite existing VRC_SpatialAudioSource values or tuned AudioSource curves unless requested.

PropertyDescriptionBaseline / safe-preserve note
GainVolume boost (0-24 dB)10 dB is common/default; use 0 dB for warning-only additions to preserve loudness
NearAttenuation start0m unless the sound needs an intentional near field
FarAttenuation endMatch existing maxDistance or the intended audible range; avoid blind default/Auto Fix ranges
Volumetric RadiusSource spread0m for point sources; set intentionally for wide sources
Enable Spatialization3D positioningfalse for intentional 2D/global audio; true for authored 3D audio

When preserving an existing AudioSource, keep volume, spatialBlend, rolloffMode, maxDistance, and custom curves; use Gain 0 dB; enable Use AudioSource Volume Curve for tuned 3D rolloff; match Far to the existing maxDistance or intended audible range; and keep Near at 0m unless an existing minDistance/Near value was intentionally authored.

Video Player Selection
FeatureAVProUnity Video
Live streaming✅❌
Editor preview❌✅
YouTube/Twitch✅❌
Quest support✅✅

MANDATORY READ references/audio-video.md for VRC_SpatialAudioSource or video player configuration. Optional: references/components.md when wiring audio/video components. Do NOT Load: references/lighting.md, references/performance.md.


World Upload

Upload Steps
text
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
Pre-Upload Checklist
text
□ 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

MANDATORY READ references/upload.md before running Build & Upload. Verify all pre-upload checklist items first. MANDATORY READ references/build-validation.md when the user asks about SDK Build Panel validation, red/yellow/white warnings, Auto Fix, or a copied validation message. Do NOT Load: references/audio-video.md, references/lighting.md.


Troubleshooting

Quick Router

Identify the symptom category and jump to the reference section:

Symptom CategoryCommon CauseReference
Player walks through walls / floorLayer setup not run; geometry not on Environment (11)troubleshooting.md §Layer & Collision
Can't grab / Pickup not workingMissing Collider, Rigidbody, or VRC_Pickup componenttroubleshooting.md §Component
Object not syncing / snaps backMissing VRC_ObjectSync or ownership not transferredtroubleshooting.md §Networking
Can't sit / clips through StationMissing Collider; Station Enter Player Location needs adjustmenttroubleshooting.md §Component
Mirror not reflectingLayers mask missing Player/PlayerLocal/MirrorReflectiontroubleshooting.md §Component
Build / Upload failsMissing SceneDescriptor, script errors, layer warningstroubleshooting.md §Build
Performance issuesMirror ON, realtime lights, uncooked lightmapsperformance.md
Works in Editor but fails in VRChatEditor Play ≠ SDK runtime; use Build & Testtroubleshooting.md §Editor
UI visible but not clickableVRC_UIShape on Screen Space / Overlay Canvas (see NEVER #11)troubleshooting.md §Editor

MANDATORY READ references/troubleshooting.md when diagnosing any issue. Do NOT Load for non-troubleshooting tasks.


For C# scripting, network sync, and UdonSharp event implementation, use the unity-vrc-udon-sharp skill.


Templates (assets/templates/)

Starter templates for common SDK component patterns. Repository checks cover static checks; import them into the target SDK project, compile, and run Build & Test before use. Adjust Inspector fields and extend the event stubs for your world.

TemplatePurpose
VRC_Pickup_Rigidbody.csVRC_Pickup with Rigidbody — OnPickup/OnDrop/OnPickupUseDown/OnPickupUseUp events, ownership transfer, audio feedback
VRC_Station_Basic.csVRC_Station controller — OnStationEntered/OnStationExited events, PlayerMobility, force-eject API

References

FileContentApprox. Lines
references/components.mdAll component details, component whitelist, Dynamics for Worlds, editor-only exclusion (EditorOnly tag / IEditorOnly)800+
references/layers.mdLayers & collision230+
references/performance.mdPerformance optimization700+
references/lighting.mdLighting settings400+
references/audio-video.mdAudio & video600+
references/build-validation.mdSDK 3.10.5 Build Panel red/yellow/white validation alert catalog, safe fixes, Auto Fix side effects180+
references/upload.mdUpload procedure300+
references/troubleshooting.mdTroubleshooting guide500+
CHEATSHEET.mdQuick reference200+

© niaka3dayo, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 12 other files (references, assets) in skills/unity-vrc-world-sdk-3 of niaka3dayo/agent-skills-vrc-udon.

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

Open the folder on GitHubat commit f6dc6c0

Compare with similar skills

Unity Vrc World SDK 3 next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Unity Vrc World SDK 3 compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Unity Vrc World SDK 3 this skillniaka3dayo/agent-skills-vrc-udon332—~7.8kAutomated safety check: PassMIT
Sokol Netelix22/Sokol.NET154—~2.8kAutomated safety check: PassMIT
Godot Admob Troubleshootpoingstudios/godot-admob-plugin632—~812Automated safety check: PassMIT
Godot Admob Mediationpoingstudios/godot-admob-plugin632—~364Automated safety check: PassMIT
Godot Admob Migratepoingstudios/godot-admob-plugin632—~1kAutomated safety check: PassMIT
Mediationpoingstudios/godot-admob-plugin632—~2kAutomated safety check: PassMIT

Similar skills

  • Sokol Net

    elix22/Sokol.NET

    Sokol.NET framework development — use for ANY work in this repo: creating or debugging examples, building/running for desktop/Android/iOS/Web, writing or compiling shaders, adding a new C/C++…

    154 GitHub stars~2.8k tokensUpdated yesterday
    Game DevelopmentAuto-check passed
  • Godot Admob Troubleshoot

    poingstudios/godot-admob-plugin

    Provides instructions to diagnose ad loading errors, handle error codes, open the Ad Inspector, and resolve integration issues in GDScript and C.

    632 GitHub stars~812 tokensUpdated 10 days ago
    Game DevelopmentAuto-check passed
  • Godot Admob Mediation

    poingstudios/godot-admob-plugin

    Provides instructions to configure, integrate, and verify third-party mediation networks (AppLovin, Meta Audience Network, Unity Ads, etc.) in GDScript and C.

    632 GitHub stars~364 tokensUpdated 10 days ago
    Game DevelopmentAuto-check passed
  • Godot Admob Migrate

    poingstudios/godot-admob-plugin

    Provides instructions to migrate your Godot AdMob project between different plugin versions (e.g.

    632 GitHub stars~1k tokensUpdated 10 days ago
    Game DevelopmentAuto-check passed
  • Mediation

    poingstudios/godot-admob-plugin

    Create and maintain mediation network plugins (e.g., AppLovin, Vungle, Meta, IronSource) across Godot, C, Android, and iOS.

    632 GitHub stars~2k tokensUpdated 10 days ago
    Game DevelopmentAuto-check passed
  • Sync

    poingstudios/godot-admob-plugin

    Rigorous multi-platform feature synchronization for Godot AdMob.

    632 GitHub stars~521 tokensUpdated 10 days ago
    Game DevelopmentAuto-check passed

More from niaka3dayo/agent-skills-vrc-udon

  • Unity Vrc Skills Renovator

    niaka3dayo/agent-skills-vrc-udon

    VRChat skill renovator for knowledge fill, refresh, and quality improvement.

    332 GitHub stars~2.4k tokensUpdated 26 days ago
    Auto-check passed
  • Unity Vrc Udon Sharp

    niaka3dayo/agent-skills-vrc-udon

    UdonSharp scripting skill for VRChat SDK 3.10.5 (active and verified target).

    332 GitHub stars~9.8k tokensUpdated 26 days ago
    Auto-check passed

Works with

Questions about Unity Vrc World SDK 3

What does Unity Vrc World SDK 3 do?

VRChat World SDK 3 guide for scene and Inspector setup, component placement, optimization, and upload. Unity Vrc World SDK 3 is an agent skill from niaka3dayo/agent-skills-vrc-udon. VRChat World SDK 3 guide for scene and Inspector setup, component placement, optimization, and upload.

When should I use Unity Vrc World SDK 3?

Unity Vrc World SDK 3 fits situations like: VRChat world scene configuration; VRC SDK components; quest/Android performance; dynamics for Worlds.

How do I install Unity Vrc World SDK 3 in Claude Code?

Run `npx skills add niaka3dayo/agent-skills-vrc-udon --skill unity-vrc-world-sdk-3 -a claude-code`. Or copy the skill folder (skills/unity-vrc-world-sdk-3 in niaka3dayo/agent-skills-vrc-udon) into .claude/skills/unity-vrc-world-sdk-3 in your project. Claude Code loads it when a task matches its description.

How do I install Unity Vrc World SDK 3 in Codex?

Run `npx skills add niaka3dayo/agent-skills-vrc-udon --skill unity-vrc-world-sdk-3 -a codex`. Or copy the skill folder (skills/unity-vrc-world-sdk-3 in niaka3dayo/agent-skills-vrc-udon) into .agents/skills/unity-vrc-world-sdk-3 in your project. Codex loads it when a task matches its description.

Can I use Unity Vrc World SDK 3 in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add niaka3dayo/agent-skills-vrc-udon --skill unity-vrc-world-sdk-3 -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/unity-vrc-world-sdk-3, .gemini/skills/unity-vrc-world-sdk-3, .github/skills/unity-vrc-world-sdk-3 and .opencode/skills/unity-vrc-world-sdk-3 in your project.

What does Unity Vrc World SDK 3 need to run?

Going by SKILL.md and its folder, Unity Vrc World SDK 3 needs C# for the scripts in its folder.

Does Unity Vrc World SDK 3 access the network?

SKILL.md names 1 domain. As links in the text: creators.vrchat.com. This is read from the text; nothing was executed.

Is Unity Vrc World SDK 3 safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Unity Vrc World SDK 3 use?

Unity Vrc World SDK 3 is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Unity Vrc World SDK 3 use?

About 7.8k tokens (SKILL.md is roughly 31k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 38k tokens, read only when the agent opens those files.

What are the alternatives to Unity Vrc World SDK 3?

Skills that share tags, products or a category with Unity Vrc World SDK 3: Sokol Net (elix22/Sokol.NET, 154 stars), Godot Admob Troubleshoot (poingstudios/godot-admob-plugin, 632 stars), Godot Admob Mediation (poingstudios/godot-admob-plugin, 632 stars) and Godot Admob Migrate (poingstudios/godot-admob-plugin, 632 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Unity Vrc World SDK 3?

niaka3dayo (a GitHub user) maintains it in niaka3dayo/agent-skills-vrc-udon, which has 332 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on September 14, 2026.

Source: niaka3dayo/agent-skills-vrc-udon on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.