agent-skills-vrc-udon

作者 niaka3dayo已验证

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

269
Stars
4
Forks
Shell
语言
2026/8/23
添加时间

⚠️ 第三方软件声明

本 Skill 为第三方开源软件,独立托管于 GitHub。SkillTip 仅为信息目录,不控制或维护底层仓库。所显示的安全检查为自动化且范围有限,安装前请自行审查源码。

阅读服务条款

安装

添加到你的 Claude Code skills 目录:

# Add to your Claude Code skills
git clone https://github.com/niaka3dayo/agent-skills-vrc-udon

快速入门

使用 agent-skills-vrc-udon 等 Skills 的指南。

安全报告

已验证

上次扫描:—

{
  "status": "PASSED",
  "issues": []
}

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#. 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.

ProblemSolution
AI generates Udon-incompatible List<T>, async/await, etc. in runtime codeRules + hooks auto-detect and warn
Sync variable bloatDecision tree + data budget
Incorrect networking patternsPattern library + anti-patterns
SDK version feature differencesVersion table with feature mapping
Late Joiner state inconsistencySync 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: git clone

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

Installing a specific version

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

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 (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)

Skills

unity-vrc-udon-sharp

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

AreaContent
ConstraintsC# features blocked in Udon runtime, their alternatives (List<T>DataList, asyncSendCustomEventDelayedSeconds), and the Editor-evaluated initializer boundary
NetworkingOwnership model, Manual/Continuous sync, FieldChangeCallback, anti-patterns
NetworkCallableIntroduced in SDK 3.8.1: parameterized network events (up to 8 args)
PersistenceIntroduced in SDK 3.7.4: PlayerData/PlayerObject API
DynamicsIntroduced in SDK 3.10.0: PhysBones, Contacts, VRC Constraints for Worlds
Web LoadingString/Image download, VRCJson, VRCUrl constraints
Templates17 templates (interactions, sync patterns, persistence, editor utilities, and more)

unity-vrc-world-sdk-3

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

AreaContent
Scene SetupVRC_SceneDescriptor, spawn points, Reference Camera
ComponentsVRC_Pickup, Station, ObjectSync, Mirror, Portal, CameraDolly
LayersVRChat reserved layers and collision matrix
PerformanceFPS targets, Quest/Android limits, optimization checklist
LightingBaked lighting best practices
Audio/VideoSpatial audio, video player selection (AVPro vs Unity)
UploadBuild and upload workflow, pre-upload checklist

Rules

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

Rule FileContent
udonsharp-constraintsBlocked C# features, code generation rules, attributes, syncable types
udonsharp-networkingOwnership model, sync modes, anti-patterns, NetworkCallable constraints
udonsharp-sync-selectionSync 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.

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.

CategoryCheckSeverity
Context-sensitive FeaturesList<T>, LINQ, lambdas (blocked in Udon runtime; may be valid in Editor-evaluated field initializers)WARNING
Blocked Runtime Featuresasync/await, try/catch, coroutinesERROR
Blocked PatternsAddListener(), StartCoroutine()ERROR
Networking[UdonSynced] without RequestSerialization()WARNING
Networking[UdonSynced] without Networking.SetOwner()WARNING
Sync Bloat6+ synced variables per behaviourWARNING
Sync Bloatint[]/float[] sync (recommend smaller types)WARNING
Config MismatchNoVariableSync mode with [UdonSynced] fieldsERROR

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.


SDK Versions

Active support / last verified: VRChat SDK 3.10.4

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.4.

The table below keeps historical feature-introduction notes for migration reference. SDK 3.7.1-3.10.3 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 VersionKey FeaturesStatus
3.7.1StringBuilder, Regex, System.RandomHistorical
3.7.4Persistence API (PlayerData / PlayerObject)Historical
3.7.6Multi-platform Build & Publish (PC + Android)Historical
3.8.0PhysBone dependency sorting, Force Kinematic On RemoteHistorical
3.8.1[NetworkCallable] parameterized events, Others/Self targetsHistorical
3.9.0Camera Dolly API, Auto Hold pickupHistorical
3.10.0VRChat Dynamics for Worlds (PhysBones, Contacts, VRC Constraints)Historical
3.10.1Bug fixes, stability improvementsHistorical
3.10.2EventTiming.PostLateUpdate/FixedUpdate, 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, DataList/DataDictionary capacity APIsActive / Last verified

Note: Before publishing, confirm that the project uses an SDK version currently supported by VRChat.


Official Resources

ResourceURL
VRChat Creators Docshttps://creators.vrchat.com/
UdonSharp API Referencehttps://udonsharp.docs.vrchat.com/
VRChat Forums (Q&A)https://ask.vrchat.com/
VRChat Canny (Bugs/Features)https://feedback.vrchat.com/
VRChat Community GitHubhttps://github.com/vrchat-community

Community Contributors

This project has benefited from people who took the time to file concrete Issues and help verify the fixes. Thank you to:

@KatanoShingo @Guribo @haru0416-dev @Yodokoro @tetradice @owlboy @nomlasvrc @ureishi


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.).
  • Active SDK support is limited to 3.10.4, the last verified target. Older version entries are historical migration information, not a promise to test or fix those SDKs. 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.

常见问题

What is agent-skills-vrc-udon?

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 269 GitHub stars.

Is agent-skills-vrc-udon safe to use?

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.

How do I install agent-skills-vrc-udon?

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).

What programming language is agent-skills-vrc-udon written in?

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.

Are there alternatives to agent-skills-vrc-udon?

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.

评论 (0)

暂无评论,成为第一个分享想法的人!

ECC

by affaan-m

10

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

242,21936,702JavaScript
AI 智能体ai-agentsanthropicclaude-code
查看详情
15

An agentic skills framework & software development methodology that works.

234,96620,863Shell
AI 智能体ai-agentsbrainstorming
查看详情

hermes-agent

by NousResearch

10

The agent that grows with you

234,43747,175Python
AI 智能体ai-agentsagent-orchestration
查看详情

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

185,94028,768JavaScript
AI 智能体ai-agentsanthropicclaude-code
查看详情

cc-switch

by farion1231

3

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

128,8688,826Rust
AI 智能体claude-codeai-tools
查看详情

claude-code

by anthropics

Claude Code is an agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster by executing routine tasks, explaining complex code, and handling git workflows - all through natural language commands.

120,03119,897Shell
AI 智能体
查看详情

开发者还喜欢

基于喜欢此 Skill 的开发者投票和收藏

ECC

by affaan-m

10

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

242,21936,702JavaScript
AI 智能体ai-agentsanthropicclaude-code
查看详情
15

An agentic skills framework & software development methodology that works.

234,96620,863Shell
AI 智能体ai-agentsbrainstorming
查看详情

hermes-agent

by NousResearch

10

The agent that grows with you

234,43747,175Python
AI 智能体ai-agentsagent-orchestration
查看详情

n8n

by n8n-io

12

Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

201,88160,308TypeScript
MCP 服务器apisai-tools
查看详情

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

185,94028,768JavaScript
AI 智能体ai-agentsanthropicclaude-code
查看详情

cc-switch

by farion1231

3

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

128,8688,826Rust
AI 智能体claude-codeai-tools
查看详情