plugins/unity-editor-toolkit/skills/SKILL.md
Unity Editor control and automation, WebSocket-based real-time communication. 유니티에디터제어및자동화, WebSocket기반실시간통신. Features/기능: GameObject control 게임오브젝트제어, Transform manipulation 트랜스폼조작, Component management 컴포넌트관리, Scene management 씬관리, SQLite database integration SQLite데이터베이스통합, GUID-based persistence GUID기반영구식별, Multi-scene synchronization 멀티씬동기화, Command Pattern with Undo/Redo 명령패턴실행취소재실행, Menu execution 메뉴실행, ScriptableObject management 스크립터블오브젝트관리, Array/List manipulation 배열리스트조작, All field types support 모든필드타입지원, Material/Rendering 머티리얼/렌더링, Prefab system 프리팹시스템, Asset Database 애셋데이터베이스, Animation 애니메이션, Physics 물리, Console logging 콘솔로깅, EditorPrefs management 에디터프리퍼런스관리, Editor automation 에디터자동화, Build pipeline 빌드파이프라인, Lighting 라이팅, Camera 카메라, Audio 오디오, Navigation 네비게이션, Particles 파티클, Timeline 타임라인, UI Toolkit, Profiler 프로파일러, Test Runner 테스트러너. Protocol 프로토콜: JSON-RPC 2.0 over WebSocket (port 9500-9600). 500+ commands 명령어, 25 categories 카테고리. Real-time bidirectional communication 실시간양방향통신. Security 보안: Defense-in-depth 심층방어 (path traversal protection 경로순회방지, command injection defense 명령어인젝션방어, JSON injection prevention JSON인젝션방지, SQL injection prevention SQL인젝션방지, transaction safety 트랜잭션안전성). Localhost-only connections 로컬호스트전용. Cross-platform 크로스플랫폼 (Windows, macOS, Linux).
npx skillsauth add dev-gom/claude-code-marketplace unity-editor-toolkitInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Unity Editor Toolkit enables comprehensive Unity Editor automation and control from Claude Code. It provides:
items[0].name)Always run scripts with --help first to see usage. DO NOT read the source until you try running the script first and find that a customized solution is abslutely necessary. These scripts can be very large and thus pollute your context window. They exist to be called directly as black-box scripts rather than ingested into your context window.
⚠️ CRITICAL: Unity Editor Toolkit skill을 사용할 때는 반드시 다음 순서를 따르세요:
명령어를 사용하기 전에 반드시 skills/references/ 폴더의 해당 문서를 읽으세요:
--help 실행# 모든 명령어 확인
cd <unity-project-root> && node .unity-websocket/uw --help
# 특정 명령어의 옵션 확인
cd <unity-project-root> && node .unity-websocket/uw <command> --help
reference 문서의 Examples 섹션을 참고하여 명령어를 실행하세요.
이 순서를 무시하면:
Use Unity Editor Toolkit when you need to:
Automate Unity Editor Tasks
Real-time Unity Testing
Batch Operations
Menu and Editor Automation
menu run "Window/General/Console")ScriptableObject Management
items[0].stats.health)Database-Driven Workflows
CI/CD Integration
Install Unity Editor Toolkit Server Package
skills/assets/unity-packageConfigure WebSocket Server
Tools > Unity Editor Toolkit > Server Window~/.claude/plugins/...Database Setup (Optional)
{ProjectRoot}/.unity-websocket/unity-editor.dbServer Status
{ProjectRoot}/.unity-websocket/server-status.jsonDependencies
The Unity Editor Toolkit plugin provides CLI commands for Unity Editor control.
Unity Editor Toolkit CLI automatically:
.unity-websocket/server-status.json⚠️ Before executing ANY command, check the reference documentation for your command category (see "📚 문서 우선 원칙" section above).
Unity Editor Toolkit provides 86+ commands across 15 categories. All commands run from the Unity project root:
cd <unity-project-root> && node .unity-websocket/uw <command> [options]
Available Categories (Implemented):
| # | Category | Commands | Reference | |---|----------|----------|-----------| | 1 | Connection & Status | 1 | COMMANDS_CONNECTION_STATUS.md | | 2 | GameObject & Hierarchy | 8 | COMMANDS_GAMEOBJECT_HIERARCHY.md | | 3 | Transform | 4 | COMMANDS_TRANSFORM.md | | 4 | Component ✨ | 10 | COMMANDS_COMPONENT.md | | 5 | Scene Management | 7 | COMMANDS_SCENE.md | | 6 | Asset Database & Editor | 3 | COMMANDS_EDITOR.md | | 7 | Console & Logging | 2 | COMMANDS_CONSOLE.md | | 8 | EditorPrefs Management | 6 | COMMANDS_PREFS.md | | 9 | Wait Commands | 4 | COMMANDS_WAIT.md | | 10 | Chain Commands | 2 | COMMANDS_CHAIN.md | | 11 | Menu Execution | 2 | COMMANDS_MENU.md | | 12 | Asset Management | 9 | COMMANDS_ASSET.md | | 13 | Prefab | 12 | COMMANDS_PREFAB.md | | 14 | Material | 9 | COMMANDS_MATERIAL.md | | 15 | Shader | 7 | COMMANDS_SHADER.md |
Usage:
cd <unity-project-root> && node .unity-websocket/uw <command> [options]
Required: Check Documentation
# 1. 먼저 명령어 카테고리의 reference 문서를 읽으세요
# 예: Component 명령어 사용 → skills/references/COMMANDS_COMPONENT.md 읽기
# 2. --help로 명령어 옵션 확인
cd <unity-project-root> && node .unity-websocket/uw --help
cd <unity-project-root> && node .unity-websocket/uw <command> --help
# 3. reference 문서의 예제를 참고하여 실행
📖 Complete Documentation by Category
Required Reading: Before using any command, read the Category-specific reference document:
# Verify WebSocket connection
cd <unity-project-root> && node .unity-websocket/uw status
# Use custom port
cd <unity-project-root> && node .unity-websocket/uw --port 9301 status
Create and configure GameObject:
cd <unity-project-root> && node .unity-websocket/uw go create "Enemy" && \
cd <unity-project-root> && node .unity-websocket/uw tf set-position "Enemy" "10,0,5" && \
cd <unity-project-root> && node .unity-websocket/uw tf set-rotation "Enemy" "0,45,0"
Load scene and activate GameObject:
cd <unity-project-root> && node .unity-websocket/uw scene load "Level1" && \
cd <unity-project-root> && node .unity-websocket/uw go set-active "Boss" true
Batch GameObject creation:
for i in {1..10}; do
cd <unity-project-root> && node .unity-websocket/uw go create "Cube_$i" && \
cd <unity-project-root> && node .unity-websocket/uw tf set-position "Cube_$i" "$i,0,0"
done
Wait for compilation then execute:
# Make code changes, then wait for compilation to finish
cd <unity-project-root> && node .unity-websocket/uw wait compile && \
cd <unity-project-root> && node .unity-websocket/uw editor refresh
Chain multiple commands sequentially:
# Execute commands from JSON file
cd <unity-project-root> && node .unity-websocket/uw chain execute commands.json
# Execute commands inline
cd <unity-project-root> && node .unity-websocket/uw chain exec \
"GameObject.Create:name=Player" \
"GameObject.SetActive:instanceId=123,active=true"
# Continue execution even if some commands fail
cd <unity-project-root> && node .unity-websocket/uw chain exec \
"Editor.Refresh" \
"GameObject.Find:path=InvalidPath" \
"Console.Clear" \
--continue-on-error
CI/CD Pipeline workflow:
#!/bin/bash
cd /path/to/unity/project
# Cleanup
node .unity-websocket/uw.js chain exec "Console.Clear" "Editor.Refresh"
# Wait for compilation
node .unity-websocket/uw.js wait compile
# Run tests (example)
node .unity-websocket/uw.js chain exec \
"Scene.Load:name=TestScene" \
"GameObject.Find:path=TestRunner" \
"Console.Clear"
Always Verify Connection
cd <unity-project-root> && node .unity-websocket/uw status before executing commandsUse Hierarchical Paths
"Environment/Terrain/Trees"Monitor Console Logs
cd <unity-project-root> && node .unity-websocket/uw console logs --errors-only to catch errors during automationBatch Operations Carefully
Connection Management
Error Handling
Port Management
--port flag if running multiple Unity Editor instancesWait Commands Usage
wait compile after making code changes to ensure compilation finisheswait playmode enter/exit for play mode synchronization in automated testswait sleep to add delays between commands when neededChain Commands Best Practices
--continue-on-error to override)Development Roadmap Awareness
Detailed documentation available in the references/ folder:
Unity C# server package available in assets/unity-package/ - install via Unity Package Manager once released.
Status: 🧪 Experimental - Phase 2 (86 commands implemented) Unity Version Support: 2020.3 - Unity 6 Protocol: JSON-RPC 2.0 over WebSocket Port Range: 9500-9600 (auto-assigned)
tools
Assists with Unity UI Toolkit development - UXML structure, USS styling, C# VisualElement manipulation, data binding, and custom controls. Use when implementing UI Toolkit interfaces.
tools
Guides selection between UGUI and UI Toolkit for projects. Use when choosing UI framework or migrating UI systems.
tools
Execute and analyze Unity Test Framework tests from the command line. This skill automates test execution for Unity projects by detecting the Unity Editor, configuring test parameters (EditMode/PlayMode), running tests via CLI, parsing XML results, and generating detailed failure reports. Use this when running Unity tests, validating game logic, or debugging test failures.
testing
Generates production-ready C# script templates (MonoBehaviour, ScriptableObject, Editor, tests). Use when creating new scripts or setting up project structure.