Agent skill

uloop-execute-dynamic-code

Execute C# code dynamically in Unity Editor. Use when you need to: (1) Wire prefab/material references and AddComponent operations, (2) Edit SerializedObject properties and reference wiring, (3) Perform scene/hierarchy edits and batch operations, (4) PlayMode automation (click buttons, raycast, invoke methods), (5) PlayMode UI controls (InputField, Slider, Toggle, Dropdown), (6) PlayMode inspection (scene info, reflection, physics state). NOT for file I/O or script authoring.

Stars 249
Forks 21

Install this agent skill to your Project

npx add-skill https://github.com/hatayama/unity-cli-loop/tree/main/.claude/skills/uloop-execute-dynamic-code

SKILL.md

Task

Execute the following request using uloop execute-dynamic-code: $ARGUMENTS

Workflow

  1. Read the relevant reference file(s) from the Code Examples section below
  2. Construct C# code based on the reference examples
  3. Execute via Bash: uloop execute-dynamic-code --code '<code>'
  4. If execution fails, adjust code and retry
  5. Report the execution result

Parameters

  • --code '<code>' (required): Inline C# statements to execute. Use direct statements only; return is optional, and using directives may appear at the top of the snippet.
  • Shell quoting: bash/zsh uses single quotes, for example uloop execute-dynamic-code --code 'using UnityEngine; return Mathf.PI;'. PowerShell doubles inner quotes ('Debug.Log(""Hello!"");').
  • --parameters {} (advanced, optional): Pass an object when reusing a snippet with varying data or when keeping values outside the code. Values are exposed as parameters["param0"], parameters["param1"], and so on. Omit this flag for most snippets, and pass an object instead of a JSON string.
  • --compile-only true (optional): Compile the snippet without executing it. Use this when you want Roslyn diagnostics before running new code.

Code Rules

Write direct statements only — no class/namespace/method wrappers. Return is optional.

csharp
using UnityEngine;
float x = Mathf.PI;
return x;

Forbidden — these will be rejected at compile time: System.IO.*, AssetDatabase.CreateFolder, creating/editing .cs/.asmdef files. Use terminal commands for file operations instead.

Code Examples by Category

For detailed code examples, refer to these files:

Didn't find tool you were looking for?

Be as detailed as possible for better results