agent-skills-vrc-udon

agent
Guvenlik Denetimi
Gecti
Health Gecti
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Community trust — 59 GitHub stars
Code Gecti
  • Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Gecti
  • Permissions — No dangerous permissions requested
Purpose
This project provides a collection of rules, skills, and validation hooks designed to teach AI coding agents how to correctly write UdonSharp code for VRChat. It helps prevent common compilation errors by stopping AI models from using unsupported C# features in VRChat SDK 3.7.1–3.10.2.

Security Assessment
The overall risk is Low. The repository contains no executable code or Unity projects; it strictly consists of text-based instructions and validation patterns. A light code scan of 12 files found no dangerous patterns, hardcoded secrets, or requests for dangerous system permissions. Since it functions as a passive reference guide for AI tools rather than an active script, it does not make network requests, access sensitive data, or execute shell commands.

Quality Assessment
The project is highly maintained, with its most recent push occurring today. It has garnered 59 GitHub stars, indicating a solid level of community trust and usefulness among VRChat creators. The repository is clearly documented with multi-language support and is fully licensed under the permissive MIT license. Additionally, it is distributed as an npm package, which ensures a clean and standardized installation process.

Verdict
Safe to use.
SUMMARY

Skills, rules, and validation hooks that teach AI coding agents to generate correct UdonSharp code (VRChat SDK 3.7.1–3.10.2)

README.md

English | 日本語 | 简体中文 | 繁體中文 | 한국어

VRChat SDK UdonSharp Agent Skills License

npm version npm downloads CI

Agent Skills for VRChat UdonSharp

Skills, rules, and validation hooks that teach AI coding agents to generate correct UdonSharp code

AboutInstallStructureSkillsRulesHooksContributingDisclaimer


About

VRChat world development with UdonSharp (C# → Udon Assembly) has strict compile constraints that differ significantly from standard C#. Features like List<T>, async/await, try/catch, LINQ, and lambdas cause compile errors.

This repository provides AI coding agents with the knowledge to generate correct UdonSharp code from the start.

Problem Solution
AI generates List<T>, async/await, etc. Rules + hooks auto-detect and warn
Sync variable bloat Decision tree + data budget
Incorrect networking patterns Pattern library + anti-patterns
SDK version feature differences Version table with feature mapping
Late Joiner state inconsistency Sync pattern selection framework

This is NOT:

  • A VRChat SDK or UdonSharp distribution
  • A Unity project (no executable code)
  • A replacement for official VRChat documentation
  • A guarantee of all AI behaviors

Issues: Bug reports and knowledge requests are welcome via GitHub Issues.
PRs: Pull Requests are not accepted. See CONTRIBUTING.md for details.


Install

Migrating from fork/clone? — Since v1.0.0, this project is distributed as an npm package. You no longer need to fork or clone the repository. Simply run one of the install commands below inside your VRChat Unity project. If you previously cloned this repo, you can safely delete the cloned directory and switch to the npm-based install.

Method 1: skills CLI (recommended)

npx skills add niaka3dayo/agent-skills-vrc-udon

This uses the skills.sh ecosystem to install skills into your project.

Method 2: Claude Code plugin

claude plugin add niaka3dayo/agent-skills-vrc-udon

Method 3: npx direct install

npx agent-skills-vrc-udon

Options:

npx agent-skills-vrc-udon --force    # Overwrite existing files
npx agent-skills-vrc-udon --list     # Preview files to install (dry run)

Method 4: git clone

git clone https://github.com/niaka3dayo/agent-skills-vrc-udon.git

Structure

skills/                                  # All skills
  unity-vrc-udon-sharp/                 # UdonSharp core skill
    SKILL.md                              # Skill definition + frontmatter
    LICENSE.txt                           # MIT License
    CHEATSHEET.md                         # Quick reference (1 page)
    rules/                               # Constraint rules
      udonsharp-constraints.md
      udonsharp-networking.md
      udonsharp-sync-selection.md
    hooks/                               # PostToolUse validation
      validate-udonsharp.sh
      validate-udonsharp.ps1
    assets/templates/                    # Code templates (4 files)
    references/                          # Detailed documentation (12 files)
  unity-vrc-world-sdk-3/                # VRC World SDK skill
    SKILL.md, LICENSE.txt, CHEATSHEET.md, references/ (7 files)
templates/                               # AI tool config templates
  CLAUDE.md  AGENTS.md  GEMINI.md        # Distributed to users via installer
.claude-plugin/marketplace.json         # Claude Code plugin registration
CLAUDE.md                               # Development guide (this repo only)

Skills

unity-vrc-udon-sharp

UdonSharp scripting core skill. Covers compile constraints, networking, events, and templates.

Area Content
Constraints Blocked C# features and alternatives (List<T>DataList, asyncSendCustomEventDelayedSeconds)
Networking Ownership model, Manual/Continuous sync, FieldChangeCallback, anti-patterns
NetworkCallable SDK 3.8.1+ parameterized network events (up to 8 args)
Persistence SDK 3.7.4+ PlayerData/PlayerObject API
Dynamics SDK 3.10.0+ PhysBones, Contacts, VRC Constraints for Worlds
Web Loading String/Image download, VRCJson, VRCUrl constraints
Templates 4 starter templates (BasicInteraction, SyncedObject, PlayerSettings, CustomInspector)

unity-vrc-world-sdk-3

World-level scene setup, component placement, and optimization.

Area Content
Scene Setup VRC_SceneDescriptor, spawn points, Reference Camera
Components VRC_Pickup, Station, ObjectSync, Mirror, Portal, CameraDolly
Layers VRChat reserved layers and collision matrix
Performance FPS targets, Quest/Android limits, optimization checklist
Lighting Baked lighting best practices
Audio/Video Spatial audio, video player selection (AVPro vs Unity)
Upload Build and upload workflow, pre-upload checklist

Rules

Rules are constraint files that guide AI agents before code generation.

Rule File Content
udonsharp-constraints Blocked C# features, code generation rules, attributes, syncable types
udonsharp-networking Ownership model, sync modes, anti-patterns, NetworkCallable constraints
udonsharp-sync-selection Sync decision tree, data budget targets, 6 minimization principles

Sync Decision Tree

Q1: Visible to other players?
    No  --> No sync (0 bytes)
    Yes --> Q2

Q2: Late Joiner needs current state?
    No  --> Events only (0 bytes)
    Yes --> Q3

Q3: Continuous change? (position/rotation)
    Yes --> Continuous sync
    No  --> Manual sync (minimal [UdonSynced])

Target: < 50 bytes per behaviour. Small-medium worlds: < 100 bytes total.


Validation Hooks

PostToolUse hooks that auto-run when .cs files are edited.

Category Check Severity
Blocked Features List<T>, async/await, try/catch, LINQ, coroutines, lambdas ERROR
Blocked Patterns AddListener(), StartCoroutine() ERROR
Networking [UdonSynced] without RequestSerialization() WARNING
Networking [UdonSynced] without Networking.SetOwner() WARNING
Sync Bloat 6+ synced variables per behaviour WARNING
Sync Bloat int[]/float[] sync (recommend smaller types) WARNING
Config Mismatch NoVariableSync mode with [UdonSynced] fields ERROR

Supports both Bash (validate-udonsharp.sh) and PowerShell (validate-udonsharp.ps1).


SDK Versions

SDK Version Key Features Status
3.7.1 StringBuilder, Regex, System.Random Supported
3.7.4 Persistence API (PlayerData / PlayerObject) Supported
3.7.6 Multi-platform Build & Publish (PC + Android) Supported
3.8.0 PhysBone dependency sorting, Force Kinematic On Remote Supported
3.8.1 [NetworkCallable] parameterized events, Others/Self targets Supported
3.9.0 Camera Dolly API, Auto Hold pickup Supported
3.10.0 VRChat Dynamics for Worlds (PhysBones, Contacts, VRC Constraints) Supported
3.10.1 Bug fixes, stability improvements Supported
3.10.2 EventTiming.PostLateUpdate/FixedUpdate, PhysBones fixes, shader time globals Latest Stable

Note: SDK < 3.9.0 was deprecated on December 2, 2025. New world uploads require 3.9.0+.


Official Resources

Resource URL
VRChat Creators Docs https://creators.vrchat.com/
UdonSharp API Reference https://udonsharp.docs.vrchat.com/
VRChat Forums (Q&A) https://ask.vrchat.com/
VRChat Canny (Bugs/Features) https://feedback.vrchat.com/
VRChat Community GitHub https://github.com/vrchat-community

Contributing

Issues are welcome -- bug reports and knowledge requests help improve this project.

Pull Requests are not accepted -- all fixes and updates are made by the maintainer.

See CONTRIBUTING.md for details.


Disclaimer

This project is not affiliated with VRChat Inc. No official endorsement, partnership, or association is implied.

"VRChat", "UdonSharp", "Udon" and related names/logos are trademarks of VRChat Inc. All trademarks belong to their respective owners.

This repository is a personal knowledge base for AI coding agents to generate correct UdonSharp code. It does not distribute any part of the VRChat SDK or UdonSharp compiler.

Accuracy

  • Content is provided "AS IS" without warranty. See LICENSE.
  • This is a personal project. Errors, outdated information, or incomplete content may exist. Always verify against official VRChat documentation.
  • The author assumes no liability for issues caused by this repository (build errors, upload rejections, unexpected world behavior, etc.).
  • SDK coverage (3.7.1 - 3.10.2) reflects the last update. Behavior may change with new VRChat releases.

AI-Assisted Creation

This knowledge base was created and maintained with AI tool assistance (Claude, Gemini, Codex). All content has been reviewed, but AI-generated portions may contain subtle errors. Use at your own risk.


License

This project is licensed under the MIT License. See LICENSE for details.

Fork, modify, and redistribute freely under MIT License terms. This license applies to the documentation, rules, templates, and hooks in this repository. It does not grant any rights to VRChat's SDK, UdonSharp compiler, or other VRChat intellectual property.

Yorumlar (0)

Sonuc bulunamadi