unity-vrc-udon-sharp

Generate UdonSharp scripts for VRChat with networking synchronization and compile constraints.

255|4|Updated Feb 26, 2026
One-click install
npx skills add https://github.com/niaka3dayo/agent-skills-vrc-udon --skill unity-vrc-udon-sharp
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: unity-vrc-udon-sharp
Source: https://github.com/niaka3dayo/agent-skills-vrc-udon/tree/main/skills/unity-vrc-udon-sharp
Command: npx skills add https://github.com/niaka3dayo/agent-skills-vrc-udon --skill unity-vrc-udon-sharp

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) and assets (resource) components.

What problem does it solve?

This Skill addresses the complexities and pitfalls of UdonSharp scripting in VRChat, enabling AI agents to generate correct, efficient, and network-synchronized code.

Core Features & Use Cases

  • Compile Constraint Adherence: Guides AI to avoid Udon-prohibited C# features like List<T>, async/await, and LINQ.
  • Network Synchronization Mastery: Teaches correct patterns for [UdonSynced], RequestSerialization(), ownership, and [NetworkCallable].
  • Late Joiner Correctness: Ensures world state is accurate for players joining mid-session.
  • Use Case: An AI agent uses this Skill to write a VRChat world script that synchronizes player scores, handles object interactions, and plays custom sounds, all while adhering to UdonSharp's strict limitations.

Quick Start

Use the unity-vrc-udon-sharp skill to generate a UdonSharp script that synchronizes a player's position and rotation.

Frequently Asked Questions about unity-vrc-udon-sharp

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
Can I use LINQ and List<T> when writing VRChat UdonSharp scripts?

VRChat UdonSharp scripts cannot use LINQ, List<T>, or async/await because these C# features violate Udon compile constraints and will fail to build.

How do I synchronize player scores in VRChat using UdonSharp?

To synchronize player scores in VRChat UdonSharp, use [UdonSynced] variables, call RequestSerialization() after changes, and ensure proper ownership transfer for network state updates.

What's the best way to handle late joiner state in VRChat UdonSharp worlds?

Handling late joiner state in VRChat UdonSharp requires correct [UdonSynced] variable initialization so joining players receive accurate world persistence and network synchronization data immediately.

Why does my UdonSharp code fail to compile in Unity for VRChat?

UdonSharp code fails to compile in Unity for VRChat when using unsupported standard C# features like async/await or LINQ, which the Udon compiler strictly prohibits.

How do I request serialization for dynamic object interactions in VRChat?

To request serialization for dynamic object interactions in VRChat, use RequestSerialization() alongside [NetworkCallable] methods and proper ownership management to sync changes across clients.

When should I use RequestSerialization in VRChat UdonSharp networking?

Use RequestSerialization in VRChat UdonSharp networking whenever a synced variable changes value on the owner client, ensuring network synchronization propagates the updated state to all players.