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.mdsource content
uloop execute-dynamic-code
Execute C# code dynamically in Unity Editor.
Usage
uloop execute-dynamic-code --code '<c# code>'
Parameters
| Parameter | Type | Description |
|---|---|---|
| string | C# code to execute (direct statements, no class wrapper) |
| boolean | Compile without execution |
| boolean | Auto-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)
| Shell | Method |
|---|---|
| bash/zsh/MINGW64/Git Bash | |
| PowerShell | |
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:
- Prefab operations: See examples/prefab-operations.md
- Create prefabs, instantiate, add components, modify properties
- Material operations: See examples/material-operations.md
- Create materials, set shaders/textures, modify properties
- Asset operations: See examples/asset-operations.md
- Find/search assets, duplicate, move, rename, load
- ScriptableObject: See examples/scriptableobject.md
- Create ScriptableObjects, modify with SerializedObject
- Scene operations: See examples/scene-operations.md
- Create/modify GameObjects, set parents, wire references, load scenes