unity-vrc-udon-sharp

UdonSharp (C# to Udon Assembly) scripting skill for VRChat world development. Use this skill when writing, reviewing, or debugging UdonSharp C# code. Covers compile constraints (List<T>/async/await/try/catch/LINQ blocked), network sync (UdonSynced, RequestSerialization, FieldChangeCallback, NetworkCallable), persistence (PlayerData/PlayerObject), Dynamics (PhysBones, Contacts), Web Loading, and event handling. SDK 3.7.1 - 3.10.2 coverage. Triggers on: UdonSharp, Udon, VRC SDK, UdonBehaviour, UdonSynced, NetworkCallable, VRCPlayerApi, SendCustomEvent, PlayerData, PhysBones, synced variables, VRChat world scripting, C# to Udon.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "unity-vrc-udon-sharp" with this command: npx skills add niaka3dayo/agent-skills-vrc-udon/niaka3dayo-agent-skills-vrc-udon-unity-vrc-udon-sharp

UdonSharp Skill

Why This Skill Matters

UdonSharp looks like regular Unity C# scripting — until you hit its hidden walls. Many standard C# features (List<T>, async/await, try/catch, LINQ, generics) silently fail or refuse to compile in Udon. Networking is even more treacherous: modifying a synced variable without ownership produces no error — it just does nothing. Forgetting RequestSerialization means your state changes never leave your machine. Standard single-player local testing gives zero signal about these networking bugs because there is only one player.

Every rule in this skill exists because UdonSharp's default behavior is to fail silently. Read the Rules before generating any code.

Core Principles

  1. Constraints First — Assume standard C# features are blocked until verified. Check udonsharp-constraints.md before using any API.
  2. Ownership Before Mutation — Only the owner of an object can modify its synced variables. Always SetOwner → modify → RequestSerialization.
  3. Late Joiner Correctness — State must be correct for players who join after events have occurred. Design for re-serialization, not just live updates.
  4. Sync Minimization — Every synced variable costs bandwidth (see data budget in udonsharp-sync-selection.md). Derive what you can locally; sync only the source of truth.
  5. Event-Driven, Not Polling — Use OnDeserialization, [FieldChangeCallback], and SendCustomEvent instead of checking state in Update().

Overview

SDK Coverage: 3.7.1 - 3.10.2 (as of March 2026)

Rules (Constraints & Networking)

Compile constraints and networking rules are defined in always-loaded Rules:

Rule FileContents
rules/udonsharp-constraints.mdBlocked features, code generation rules, attributes, syncable types
rules/udonsharp-networking.mdOwnership, sync modes, RequestSerialization, NetworkCallable
rules/udonsharp-sync-selection.mdSync pattern selection, data budget, minimization principles

After installation, place these in the agent's rules directory for automatic loading.

SDK Versions

SDK VersionKey Features
3.7.1Added StringBuilder, RegularExpressions, System.Random
3.7.4Added Persistence API (PlayerData/PlayerObject)
3.7.6Multi-platform Build & Publish (PC + Android simultaneously)
3.8.0PhysBone dependency sorting, Drone API (VRCDroneInteractable)
3.8.1[NetworkCallable] attribute, parameterized network events, NetworkEventTarget.Others/.Self
3.9.0Camera Dolly API, Auto Hold pickup simplification
3.10.0VRChat Dynamics for Worlds (PhysBones, Contacts, VRC Constraints)
3.10.1Bug fixes and stability improvements
3.10.2EventTiming extensions, PhysBones fixes, shader time globals

Note: SDK versions below 3.9.0 are deprecated as of December 2, 2025. New world uploads are no longer possible.

Web Search

When to Search

ScenarioAction
New SDK version supportCheck official docs for latest API
"Is this possible?" questionsVerify feasibility in official docs
Unknown errorsRefer to official troubleshooting
New feature usageRetrieve latest code examples

Search Strategy

# Official documentation search
WebSearch: "feature or API name site:creators.vrchat.com"

# UdonSharp API reference
WebSearch: "API name site:udonsharp.docs.vrchat.com"

# Error investigation: VRChat official forums
WebSearch: "error message site:ask.vrchat.com"

# Error investigation: Canny (bug reports / known issues)
WebSearch: "error message site:feedback.vrchat.com"

# Error investigation: GitHub Issues
WebSearch: "error message UdonSharp site:github.com"

Official Resources

ResourceURLContents
VRChat Creatorscreators.vrchat.com/worlds/udon/Official Udon / SDK documentation
UdonSharp Docsudonsharp.docs.vrchat.comUdonSharp API reference
VRChat Forumsask.vrchat.comQ&A, solutions
VRChat Cannyfeedback.vrchat.comBug reports, known issues
GitHubgithub.com/vrchat-communitySamples and libraries

References

FileContents
constraints.mdC# feature availability in UdonSharp
networking.mdNetworking pattern details (including NetworkCallable)
persistence.mdPlayerData/PlayerObject (SDK 3.7.4+)
dynamics.mdPhysBones, Contacts, VRC Constraints (SDK 3.10.0+)
patterns.mdButtons, pickups, player detection, object pools, etc.
web-loading.mdString/Image downloading, VRCJson, Trusted URLs
api.mdVRCPlayerApi, Networking, enums reference
events.mdAll Udon events (including OnPlayerRestored, OnContactEnter)
editor-scripting.mdEditor scripting and proxy system
sync-examples.mdSync pattern examples (Local/Events/SyncedVars)
troubleshooting.mdCommon errors and solutions

Templates (assets/templates/)

TemplatePurposePath
BasicInteraction.csInteractive objectassets/templates/BasicInteraction.cs
SyncedObject.csNetwork-synced objectassets/templates/SyncedObject.cs
PlayerSettings.csPlayer movement settingsassets/templates/PlayerSettings.cs
CustomInspector.csCustom editor inspectorassets/templates/CustomInspector.cs

Hooks

HookPlatformPurpose
validate-udonsharp.ps1Windows (PowerShell)PostToolUse constraint validation
validate-udonsharp.shLinux/macOS (Bash)PostToolUse constraint validation

Quick Reference

  • CHEATSHEET.md - One-page quick reference

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

OpenClaw Sync

OpenClaw 数据轻量同步技能。基于 rclone + cron,支持 70+ 云存储后端, 定时备份 workspace 数据,资源占用极低。

Registry SourceRecently Updated
2340Profile unavailable
Security

SPIRIT State Sync

State Preservation & Identity Resurrection Infrastructure Tool (SPIRIT). Preserves AI agent identity, memory, and projects to a private Git repository. NEW:...

Registry SourceRecently Updated
5030Profile unavailable
Automation

unity-vrc-skills-renovator

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

unity-vrc-world-sdk-3

No summary provided by upstream source.

Repository SourceNeeds Review