Token导航 LogoToken导航TokenDH.com
研究检索external-serviceclawhub未标认证来源可访问clear审计提醒

openclaw-unity-skillOpenClaw Unity 技能

Agent Skill

openclaw-unity-skill 用于查找、检索和筛选相关信息,适合在 OpenClaw 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

72,314

周安装

2,954

GitHub Stars

3

下载量

23,396
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:openclaw-unity-skill(OpenClaw Unity 技能)
来源仓库:https://github.com/tomleelive/openclaw-unity-skill
安装命令:
openclaw skills install openclaw-unity-skill
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install openclaw-unity-skill

简介

通过 OpenClaw Unity 插件控制 Unity 编辑器。用于 Unity 游戏开发任务,包括场景管理、游戏对象/组件操作、调试、输入模拟和游戏模式控制。触发与 Unity 相关的请求,例如检查场景、创建对象、截取屏幕截图、测试游戏玩法或控制编辑器。

SKILL.md

name
unity-plugin
version
1.6.1
description
Control Unity Editor via OpenClaw Unity Plugin. Use for Unity game development tasks including scene management, GameObject/Component manipulation, debugging, input simulation, and Play mode control. Triggers on Unity-related requests like inspecting scenes, creating objects, taking screenshots, testing gameplay, or controlling the Editor.
homepage
https://github.com/TomLeeLive/openclaw-unity-skill
author
Tom Jaejoon Lee
disableModelInvocation
true

Unity Plugin Skill

Control Unity Editor through ~100 built-in tools. Works in both Editor and Play mode.

Connection Modes

1. OpenClaw Gateway (Remote)

For Telegram, Discord, and other OpenClaw channels:

  • Auto-connects when Unity opens
  • Configure in: Window → OpenClaw Plugin → Settings

2. MCP Bridge (Local)

For Claude Code, Cursor, and local AI tools:

  • Start: Window → OpenClaw Plugin → MCP Bridge → Start
  • Default port: 27182
  • Add to Claude Code: claude mcp add unity -- node <path>/MCP~/index.js

First-Time Setup

If unity_execute tool is not available, install the gateway extension:

# From skill directory
./scripts/install-extension.sh

# Restart gateway
openclaw gateway restart

The extension files are in extension/ directory.

What install-extension.sh Does

# 1. Copies extension files from skill to gateway
#    Source: <skill>/extension/
#    Destination: ~/.openclaw/extensions/unity/

# 2. Files installed:
#    - index.ts     # Extension entry point (HTTP handlers, tools)
#    - package.json # Extension metadata

# After installation, restart gateway to load the extension.

🔐 Security

이 스킬은 disableModelInvocation: true로 설정되어 있습니다.

  • AI가 자동으로 도구를 호출하지 않음
  • 사용자가 명시적으로 요청한 작업만 실행

설정 변경 방법은 README.md를 참조하세요.

Quick Reference

Core Tools

CategoryKey Tools
Scenescene.getActive, scene.getData, scene.load, scene.open, scene.save
GameObjectgameobject.find, gameobject.getAll, gameobject.create, gameobject.destroy
Componentcomponent.get, component.set, component.add, component.remove
Transformtransform.setPosition, transform.setRotation, transform.setScale
Debugdebug.hierarchy, debug.screenshot, console.getLogs
Inputinput.clickUI, input.type, input.keyPress, input.mouseClick
Editoreditor.getState, editor.play, editor.stop, editor.refresh
Materialmaterial.create, material.assign, material.modify, material.getInfo
Prefabprefab.create, prefab.instantiate, prefab.open, prefab.save
Assetasset.find, asset.copy, asset.move, asset.delete
Packagepackage.add, package.remove, package.list, package.search
Testtest.run, test.list, test.getResults

Common Workflows

1. Scene Inspection

unity_execute: debug.hierarchy {depth: 2}
unity_execute: scene.getActive

2. Find & Modify Objects

unity_execute: gameobject.find {name: "Player"}
unity_execute: component.get {name: "Player", componentType: "Transform"}
unity_execute: transform.setPosition {name: "Player", x: 0, y: 5, z: 0}

3. UI Testing

unity_execute: input.clickUI {name: "PlayButton"}
unity_execute: input.type {text: "TestUser", elementName: "UsernameInput"}
unity_execute: debug.screenshot

4. Play Mode Control

unity_execute: editor.play              # Enter Play mode
unity_execute: editor.stop              # Exit Play mode
unity_execute: editor.getState          # Check current state
unity_execute: editor.pause             # Pause
unity_execute: editor.unpause           # Resume

5. Material Creation

unity_execute: material.create {name: "RedMetal", color: "#FF0000", metallic: 0.8}
unity_execute: material.assign {gameObjectName: "Player", materialPath: "Assets/Materials/RedMetal.mat"}
unity_execute: material.modify {path: "Assets/Materials/RedMetal.mat", metallic: 1.0, emission: "#FF4444"}

6. Prefab Workflow

unity_execute: prefab.create {gameObjectName: "Player", path: "Assets/Prefabs/Player.prefab"}
unity_execute: prefab.instantiate {prefabPath: "Assets/Prefabs/Player.prefab", x: 0, y: 1, z: 0}
unity_execute: prefab.open {path: "Assets/Prefabs/Player.prefab"}
unity_execute: prefab.save
unity_execute: prefab.close

7. Asset Management

unity_execute: asset.find {query: "Player", type: "Prefab"}
unity_execute: asset.copy {sourcePath: "Assets/Prefabs/Player.prefab", destPath: "Assets/Backup/Player.prefab"}
unity_execute: asset.move {sourcePath: "Assets/Old/Item.prefab", destPath: "Assets/New/Item.prefab"}

8. Package Management

unity_execute: package.list
unity_execute: package.search {query: "TextMeshPro"}
unity_execute: package.add {packageName: "com.unity.textmeshpro"}
unity_execute: package.add {gitUrl: "https://github.com/example/package.git"}

9. Test Running

unity_execute: test.list {testMode: "EditMode"}
unity_execute: test.run {testMode: "EditMode", filter: "PlayerTests"}
unity_execute: test.getResults

10. Script Execution (Enhanced)

# Debug logging
unity_execute: script.execute {code: "Debug.Log('Hello')"}

# Time manipulation
unity_execute: script.execute {code: "Time.timeScale = 0.5"}

# PlayerPrefs
unity_execute: script.execute {code: "PlayerPrefs.SetInt('score', 100)"}

# Reflection-based method calls
unity_execute: script.execute {code: "MyClass.MyMethod()"}
unity_execute: script.execute {code: "MyClass.MyStaticMethod('param1', 123)"}

Tool Categories (~100 tools)

Console (3 tools)

  • console.getLogs - Get logs with optional type filter (Log/Warning/Error)
  • console.getErrors - Get error/exception logs (with optional warnings)
  • console.clear - Clear captured logs

Scene (7 tools)

  • scene.list - List scenes in build settings
  • scene.getActive - Get active scene info
  • scene.getData - Get full hierarchy data
  • scene.load - Load scene by name (Play mode)
  • scene.open - Open scene in Editor mode
  • scene.save - Save active scene (Editor mode)
  • scene.saveAll - Save all open scenes (Editor mode)

GameObject (8 tools)

  • gameobject.find - Find by name, tag, or component
  • gameobject.getAll - Get all GameObjects with filtering
  • gameobject.create - Create object or primitive (Cube, Sphere, etc.)
  • gameobject.destroy - Destroy object
  • gameobject.delete - Delete object (alias for destroy)
  • gameobject.getData - Get detailed data
  • gameobject.setActive - Enable/disable
  • gameobject.setParent - Change hierarchy

Transform (6 tools)

  • transform.getPosition - Get world position {x, y, z}
  • transform.getRotation - Get Euler rotation {x, y, z}
  • transform.getScale - Get local scale {x, y, z}
  • transform.setPosition - Set world position {x, y, z}
  • transform.setRotation - Set Euler rotation
  • transform.setScale - Set local scale

Component (5 tools)

  • component.add - Add component by type name
  • component.remove - Remove component
  • component.get - Get component data/properties
  • component.set - Set field/property value
  • component.list - List available component types

Script (3 tools)

  • script.execute - Execute code: Debug.Log, Time, PlayerPrefs, reflection calls
  • script.read - Read script file
  • script.list - List project scripts

Application (4 tools)

  • app.getState - Get play mode, FPS, time
  • app.play - Enter/exit Play mode
  • app.pause - Toggle pause
  • app.stop - Stop Play mode

Debug (3 tools)

  • debug.log - Write to console
  • debug.screenshot - Capture screenshot
  • debug.hierarchy - Text hierarchy view

Editor (9 tools)

  • editor.refresh - Refresh AssetDatabase (triggers recompile)
  • editor.recompile - Request script recompilation
  • editor.domainReload - Force domain reload
  • editor.focusWindow - Focus window (game/scene/console/hierarchy/project/inspector)
  • editor.listWindows - List open windows
  • editor.getState - Get editor state
  • editor.play - Enter Play mode
  • editor.stop - Exit Play mode
  • editor.pause / editor.unpause - Pause control

Input Simulation (10 tools)

  • input.keyPress - Press and release key
  • input.keyDown / input.keyUp - Hold/release key
  • input.type - Type text into field
  • input.mouseMove - Move cursor
  • input.mouseClick - Click at position
  • input.mouseDrag - Drag operation
  • input.mouseScroll - Scroll wheel
  • input.getMousePosition - Get cursor position
  • input.clickUI - Click UI element by name

Material (5 tools) - NEW in v1.5.0

  • material.create - Create material with shader, color, metallic, smoothness
  • material.assign - Assign material to GameObject
  • material.modify - Modify material properties (color, metallic, emission)
  • material.getInfo - Get detailed material info with all shader properties
  • material.list - List materials in project with filtering

Prefab (5 tools) - NEW in v1.5.0

  • prefab.create - Create prefab from scene GameObject
  • prefab.instantiate - Instantiate prefab in scene with position
  • prefab.open - Open prefab for editing
  • prefab.close - Close prefab editing mode
  • prefab.save - Save currently edited prefab

Asset (7 tools) - NEW in v1.5.0

  • asset.find - Search assets by query, type, folder
  • asset.copy - Copy asset to new path
  • asset.move - Move/rename asset
  • asset.delete - Delete asset (with trash option)
  • asset.refresh - Refresh AssetDatabase
  • asset.import - Import/reimport specific asset
  • asset.getPath - Get asset path by name

Package Manager (4 tools) - NEW in v1.5.0

  • package.add - Install package by name or git URL
  • package.remove - Remove installed package
  • package.list - List installed packages
  • package.search - Search Unity package registry

Test Runner (3 tools) - NEW in v1.5.0

  • test.run - Run EditMode/PlayMode tests with filtering
  • test.list - List available tests
  • test.getResults - Get last test run results

Batch Execution (1 tool) - NEW in v1.6.0

  • batch.execute - Execute multiple tools in one call (10-100x performance)

- commands: Array of {tool, params} objects - stopOnError: Stop on first error (default: false)

Session (1 tool) - NEW in v1.6.0

  • session.getInfo - Get session info (project, processId, machineName, sessionId)

ScriptableObject (6 tools) - NEW in v1.6.0

  • scriptableobject.create - Create new ScriptableObject asset
  • scriptableobject.load - Load and inspect ScriptableObject fields
  • scriptableobject.save - Save ScriptableObject changes
  • scriptableobject.getField - Get specific field value
  • scriptableobject.setField - Set field value with auto-save
  • scriptableobject.list - List ScriptableObjects in project

Shader (3 tools) - NEW in v1.6.0

  • shader.list - List shaders in project
  • shader.getInfo - Get shader properties and info
  • shader.getKeywords - Get shader keywords

Texture (5 tools) - NEW in v1.6.0

  • texture.create - Create new texture with color fill
  • texture.getInfo - Get texture info (size, format, import settings)
  • texture.setPixels - Fill region with color
  • texture.resize - Resize texture via import settings
  • texture.list - List textures in project

Custom Tools API - v1.6.0

Register project-specific tools:

OpenClawCustomTools.Register(
    "mygame.getScore",
    "Get current score",
    (args) => new { success = true, score = GameManager.Score }
);

MCP Resources - v1.6.0

Access Unity data via MCP resource URIs:

URIDescription
unity://scene/hierarchyScene hierarchy
unity://scene/activeActive scene info
unity://project/scriptsScript list
unity://project/scenesScene list
unity://editor/stateEditor state
unity://console/logsConsole logs
unity://session/infoSession info

Tips

Screenshot Modes

  • Play mode: ScreenCapture - includes all UI overlays
  • Editor mode: Camera.main.Render() - no overlay UI
  • Use {method: "camera"} for camera-only capture

Finding Objects

gameobject.find {name: "Player"}           # By exact name
gameobject.find {tag: "Enemy"}             # By tag
gameobject.find {componentType: "Camera"}  # By component
gameobject.getAll {activeOnly: true}       # All active objects

Script Recompilation

Unity may not auto-recompile after code changes. Use:

editor.refresh    # Full asset refresh + recompile

Play Mode Transitions

  • Plugin survives Play mode transitions via SessionState
  • If connection lost, wait for auto-reconnect or use Window → OpenClaw Plugin → Settings → Connect

MCP Bridge Usage

For Claude Code / Cursor integration:

  1. Start: Window → OpenClaw Plugin → MCP Bridge → Start
  2. Register: claude mcp add unity -- node /path/to/MCP~/index.js
  3. Verify: curl http://127.0.0.1:27182/status

Input Simulation Limitation

Keyboard/mouse simulation works for UI interactions but NOT for Input.GetKey(). For gameplay testing:

  • Use transform.setPosition to move objects directly
  • Or migrate to Unity's new Input System

Troubleshooting

IssueSolution
Tool timeoutCheck Unity is responding, try editor.getState
Gateway no connectionCheck Window → OpenClaw Plugin → Settings
MCP no connectionStart MCP Bridge, verify port 27182
Scripts not updatingUse editor.refresh to force recompile
Wrong screenshotUse Play mode for game view with UI
MCP 504 timeoutUnity busy or MCP Bridge not started
Test Runner not foundInstall com.unity.test-framework package

Links

  • Skill Repository: https://github.com/TomLeeLive/openclaw-unity-skill
  • Plugin Repository: https://github.com/TomLeeLive/openclaw-unity-plugin
  • OpenClaw Docs: https://docs.openclaw.ai
  • MCP Setup Guide: See Plugin Repository → Documentation~/SETUP_GUIDE.md

License

MIT License - See LICENSE file

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

94.95%
按下载量换算22,215

安全审计

VirusTotal

可疑

ClawScan

通过

Static analysis

未展示

权限和风险

external-service

该 Skill 可能调用第三方服务、云服务或外部模型 API,使用前需要确认账号、额度、数据发送范围和服务条款。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills