Awesome-omni-skill uloop-execute-dynamic-code

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.

install
source · Clone the upstream repo
git clone https://github.com/diegosouzapw/awesome-omni-skill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/tools/uloop-execute-dynamic-code" ~/.claude/skills/diegosouzapw-awesome-omni-skill-uloop-execute-dynamic-code-8edc1d && rm -rf "$T"
manifest: skills/tools/uloop-execute-dynamic-code/SKILL.md
source content

uloop execute-dynamic-code

Execute C# code dynamically in Unity Editor.

Usage

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

Parameters

ParameterTypeDescription
--code
stringC# code to execute (direct statements, no class wrapper)
--compile-only
booleanCompile without execution
--auto-qualify-unity-types-once
booleanAuto-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

Forbidden Operations

  • System.IO.* (File/Directory/Path)
  • AssetDatabase.CreateFolder / file writes
  • Create/edit .cs/.asmdef files

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.

Notes

For file/directory operations, use terminal commands instead.

Code Examples by Category

For detailed code examples, refer to these files: