Unnamed Skill

Execute C# code dynamically in Unity Editor via uloop CLI. Use for editor automation: (1) Prefab/material wiring and AddComponent operations, (2) Reference wiring with SerializedObject, (3) Scene/hierarchy edits and batch operations. NOT for file I/O or script authoring.

$ Installer

git clone https://github.com/hatayama/uLoopMCP /tmp/uLoopMCP && cp -r /tmp/uLoopMCP/.claude/skills/uloop-execute-dynamic-code ~/.claude/skills/uLoopMCP

// tip: Run this command in your terminal to install the skill


name: uloop-execute-dynamic-code description: Automate Unity Editor operations. Use when you need to: (1) Wire prefabs/materials and AddComponent operations, (2) Modify references with SerializedObject/PrefabUtility, (3) Batch edit scene/hierarchy or Inspector values. Executes C# code dynamically via uloop CLI.

uloop execute-dynamic-code

Execute C# code dynamically in Unity Editor.

Usage

uloop execute-dynamic-code --code '<c# code>'

Parameters

ParameterTypeDescription
--codestringC# code to execute (direct statements, no class wrapper)
--compile-onlybooleanCompile without execution
--auto-qualify-unity-types-oncebooleanAuto-qualify Unity types

Code Format

Write direct statements only (no classes/namespaces/methods). Return is optional.

// Using directives at top are hoisted
using UnityEngine;
var x = Mathf.PI;
return x;

String Literals (Shell-specific)

ShellMethod
bash/zsh/MINGW64/Git Bash'Debug.Log("Hello!");'
PowerShell'Debug.Log(""Hello!"");'

Allowed Operations

  • Prefab/material wiring (PrefabUtility)
  • AddComponent + reference wiring (SerializedObject)
  • Scene/hierarchy edits
  • Inspector modifications
  • File I/O with System.IO (requires Full Access)

Security Levels

LevelNameAvailable APIs
0DisabledNone (compilation and execution disabled)
1RestrictedUnityEngine., UnityEditor., System.Collections.* (System.IO, System.Net.Http, reflection blocked)
2Full AccessAll APIs including System.IO.*, System.Reflection.Emit

Configure in Unity: uLoopMCP > Dynamic Code Security Level

Quick Examples

bash / zsh / MINGW64 / Git Bash

uloop execute-dynamic-code --code 'return Selection.activeGameObject?.name;'
uloop execute-dynamic-code --code 'new GameObject("MyObject");'
uloop execute-dynamic-code --code 'UnityEngine.Debug.Log("Hello from CLI!");'

PowerShell

uloop execute-dynamic-code --code 'return Selection.activeGameObject?.name;'
uloop execute-dynamic-code --code 'new GameObject(""MyObject"");'
uloop execute-dynamic-code --code 'UnityEngine.Debug.Log(""Hello from CLI!"");'

Output

Returns JSON with execution result or compile errors.

Example Guides

See examples/ folder for detailed usage patterns.