
Unity Plugin
Let coding agents drive the Unity Editor via 44 structured tools for scenes, GameObjects, console logs, and play mode while you build a game.
Install
npx skills add https://github.com/tomleelive/openclaw-unity-plugin --skill unity-pluginWhat is this skill?
- Reference for all 44 Unity plugin tools with JSON parameter shapes
- Console tools: getLogs, clear with optional type filters
- Scene tools: list, getActive, getData hierarchy, load additive or single
- GameObject tools: find by name/tag/component, create with primitives
- Designed for OpenClaw Unity plugin workflows alongside editor automation
Adoption & trust: 1 installs on skills.sh; 103 GitHub stars; trending (+100% hot-view momentum).
Recommended Skills
Game Enginegithub/awesome-copilot
Godot Gdscript Patternswshobson/agents
Unity Ecs Patternswshobson/agents
Game Developerjeffallan/claude-skills
Game Developmentsickn33/antigravity-awesome-skills
Unity Developerrmyndharis/antigravity-skills
Journey fit
Primary fit
Unity plugin skills sit in Build because they extend what your agent can do inside the editor during active product construction. Agent-tooling is the canonical shelf for OpenClaw-style plugins that expose editor capabilities as callable agent tools rather than a single app feature.
SKILL.md
READMESKILL.md - Unity Plugin
fileFormatVersion: 2 guid: db83e188b2baa49fe97a9f6092be69b8 folderAsset: yes DefaultImporter: externalObjects: {} userData: assetBundleName: assetBundleVariant: # Unity Plugin Tools Reference Complete parameter reference for all 44 tools. ## Console Tools ### console.getLogs Get Unity console logs. ```json { "count": 50, // Max logs to return (default: 50) "type": "Error" // Optional: "Log", "Warning", "Error", "Exception" } ``` ### console.clear Clear captured logs. No parameters. --- ## Scene Tools ### scene.list List all scenes in build settings. No parameters. ### scene.getActive Get active scene info. No parameters. Returns: name, path, buildIndex, isLoaded, rootCount ### scene.getData Get full scene hierarchy. ```json { "depth": 3 // How deep to traverse (default: unlimited) } ``` ### scene.load Load a scene. ```json { "sceneName": "GameScene", // Scene name or path "additive": false // Load additively (default: false) } ``` --- ## GameObject Tools ### gameobject.find Find GameObjects. ```json { "name": "Player", // Find by exact name "tag": "Enemy", // Find by tag "componentType": "Camera", // Find by component type "includeInactive": false, // Include inactive objects "depth": 1 // Child depth to return } ``` ### gameobject.create Create GameObject. ```json { "name": "MyObject", // Object name "primitive": "Cube", // Optional: Cube, Sphere, Cylinder, Capsule, Plane, Quad "parent": "ParentName", // Optional parent "position": {"x": 0, "y": 0, "z": 0} } ``` ### gameobject.destroy Destroy GameObject. ```json { "name": "ObjectToDestroy" } ``` ### gameobject.getData Get detailed object data. ```json { "name": "Player", "includeComponents": true // Include component list } ``` ### gameobject.setActive Enable/disable object. ```json { "name": "Player", "active": true } ``` ### gameobject.setParent Change parent. ```json { "name": "Child", "parent": "NewParent", // null to unparent "worldPositionStays": true } ``` --- ## Transform Tools ### transform.setPosition Set world position. ```json { "objectName": "Player", "x": 10, "y": 0, "z": 5 } ``` ### transform.setRotation Set rotation (Euler angles). ```json { "objectName": "Player", "x": 0, "y": 90, "z": 0 } ``` ### transform.setScale Set local scale. ```json { "objectName": "Player", "x": 1, "y": 2, "z": 1 } ``` --- ## Component Tools ### component.add Add component to object. ```json { "objectName": "Player", "componentType": "Rigidbody" } ``` ### component.remove Remove component. ```json { "objectName": "Player", "componentType": "Rigidbody" } ``` ### component.get Get component data. ```json { "objectName": "Player", "componentType": "Transform" } ``` ### component.set Set component field/property. ```json { "objectName": "Player", "componentType": "Rigidbody", "fieldName": "mass", "value": 10 } ``` ### component.list List available component types. ```json { "filter": "Collider" // Optional filter string } ``` --- ## Script Tools ### script.execute Execute simple command. ```json { "command": "Debug.Log(\"Hello\")" } ``` ### script.read Read script file. ```json { "path": "Assets/Scripts/Player.cs" } ``` ### script.list List script files. ```json { "folder": "Assets/Scripts", // Optional folder "pattern": "*.cs" // Optional pattern } ``` --- ## Application Tools ### app.getState Get application state. No parameters. Returns: isPlaying, isPaused, platform, unityVersion, productName, fps, time ### app.play Control Play mode. ```json { "state": true // true = play, false = stop } ``` ### app.pause Toggle pause. No parameters. --- ## Debug Tools ### debug.log Write to console. ```json { "message": "Test message", "type": "Log" // "Log", "Warning", "Error" } ``` ### debug.screenshot Capture s