by niaka3dayo
Skills, rules, and validation hooks that teach AI coding agents to generate correct UdonSharp code
# Add to your Claude Code skills
git clone https://github.com/niaka3dayo/agent-skills-vrc-udonGuides for using ai agents skills like agent-skills-vrc-udon.
Last scanned: 5/30/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-05-30T15:53:48.654Z",
"npmAuditRan": true,
"pipAuditRan": true
}See how agent-skills-vrc-udon compares with popular alternatives.
agent-skills-vrc-udon is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by niaka3dayo. Skills, rules, and validation hooks that teach AI coding agents to generate correct UdonSharp code. It has 315 GitHub stars.
Yes. agent-skills-vrc-udon passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/niaka3dayo/agent-skills-vrc-udon" and add it to your Claude Code skills directory (see the Installation section above).
agent-skills-vrc-udon is primarily written in Shell. It is open-source under niaka3dayo on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh agent-skills-vrc-udon against similar tools.
No comments yet. Be the first to share your thoughts!
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
See comparison
English | 日本語 | 简体中文 | 繁體中文 | 한국어
VRChat world development with UdonSharp (C# → Udon Assembly) has strict compile constraints that differ significantly from standard C#. In Udon runtime code, features like List<T>, async/await, try/catch, LINQ, and lambdas cause compile errors. Editor-evaluated field initializers are a separate C# context and may use some of these features to generate a final field value that Udon supports.
This repository provides AI coding agents with the knowledge to generate correct UdonSharp code from the start.
| Problem | Solution |
|---|---|
AI generates Udon-incompatible List<T>, async/await, etc. in runtime code |
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:
Issues: Bug reports and knowledge requests are welcome via GitHub Issues. PRs: Pull Requests are not accepted. See CONTRIBUTING.md for details.
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.
npx skills add niaka3dayo/agent-skills-vrc-udon
This uses the skills.sh ecosystem to install skills into your project.
claude plugin add niaka3dayo/agent-skills-vrc-udon
git clone https://github.com/niaka3dayo/agent-skills-vrc-udon.git
All published versions remain permanently available on npm and as git tags — nothing is ever removed.
# npm (any published version, v1.0.0 and later)
npm install agent-skills-vrc-udon@2.3.0
# git tag
git clone --branch v2.3.0 https://github.com/niaka3dayo/agent-skills-vrc-udon.git
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 (17 files)
references/ # Detailed documentation (25 files)
unity-vrc-world-sdk-3/ # VRC World SDK skill
SKILL.md, LICENSE.txt, CHEATSHEET.md, references/ (8 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)
UdonSharp scripting core skill. Covers compile constraints, networking, events, and templates.
| Area | Content |
|---|---|
| Constraints | C# features blocked in Udon runtime, their alternatives (List<T> → DataList, async → SendCustomEventDelayedSeconds), and the Editor-evaluated initializer boundary |
| Networking | Ownership model, Manual/Continuous sync, FieldChangeCallback, anti-patterns |
| NetworkCallable | Introduced in SDK 3.8.1: parameterized network events (up to 8 args) |
| Persistence | Introduced in SDK 3.7.4: PlayerData/PlayerObject API |
| Dynamics | Introduced in SDK 3.10.0: PhysBones, Contacts, VRC Constraints for Worlds |
| Web Loading | String/Image download, VRCJson, VRCUrl constraints |
| Templates | 17 templates (interactions, sync patterns, persistence, editor utilities, and more) |
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 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 |
Networking rule: A parameterless public method without a leading _ is a legacy network entry. Prefix local-only/custom public methods with _, and use [NetworkCallable] to expose only intentional entries. Confirm NetworkCalling.InNetworkCall before reading NetworkCalling.CallingPlayer; authorize the caller separately from receiver ownership. Never use instance master as a security or access-control boundary.
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.
PostToolUse hooks that auto-run when .cs files are edited.
| Category | Check | Severity |
|---|---|---|
| Context-sensitive Features | List<T>, LINQ, lambdas (blocked in Udon runtime; may be valid in Editor-evaluated field initializers) |
WARNING |
| Blocked Runtime Features | async/await, try/catch, coroutines |
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).
The Bash validator requires jq. If jq is unavailable, it passes the input
through unchanged and emits VALIDATOR-WARNING: validation skipped (JQ_UNAVAILABLE); it does not silently claim that validation succeeded.
Active support / last verified: VRChat SDK 3.10.5
From v4.0.0 onward, the support policy is latest stable SDK only; the support target 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 historical feature-introduction notes 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.
| SDK Version | Key Features | Status | |:-----------:|