Task
Execute the following request using uloop execute-dynamic-code: $ARGUMENTS
For basic selected GameObject discovery or property inspection, use find-game-objects --search-mode Selected before this tool. Use this tool after the built-in inspection tools are not enough or when you need to modify Unity state.
Workflow
- Read the relevant reference file(s) from the Code Examples section below
- Construct C# code based on the reference examples
- Execute via Bash:
uloop execute-dynamic-code --code '<code>' - If execution fails, adjust code and retry
- Report the execution result
Parameters
--code '<code>'(required): Inline C# statements to execute. Use direct statements only;returnis optional, andusingdirectives 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 asparameters["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.
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.
Output
Returns JSON:
Success: boolean — overall execution successResult: string — value of the snippet'sreturnstatement (empty when omitted)Logs: string[] —Debug.Log/Debug.LogWarning/Debug.LogErrormessages emitted during the runCompilationErrors: object[] — Roslyn diagnostics withMessage,Line,Column,ErrorCode, optionalHintandSuggestionsErrorMessage: string — top-level failure summary (empty on success)Error: string — alias ofErrorMessageSecurityLevel: string — dynamic-code security level active for the requestUpdatedCode: string|null — the wrapped form actually compiled (handy when debugging using-statement reordering)DiagnosticsSummary: string|null — compact summary when diagnostics are availableDiagnostics: object[] — structured diagnostics; same shape asCompilationErrors, usually populated together with it
On Success: false, inspect CompilationErrors first. If empty, read ErrorMessage (and Logs for extra context) — the failure may be a runtime exception, security violation, cancellation, or an "execution in progress" rejection, all of which return empty CompilationErrors. Both EditMode and PlayMode are supported targets — the snippet runs in whichever mode the Editor is currently in.
Code Examples by Category
For detailed code examples, refer to these files:
- Prefab operations: See references/prefab-operations.md
- Create prefabs, instantiate, add components, modify properties
- Material operations: See references/material-operations.md
- Create materials, set shaders/textures, modify properties
- Asset operations: See references/asset-operations.md
- Find/search assets, duplicate, move, rename, load
- ScriptableObject: See references/scriptableobject.md
- Create ScriptableObjects, modify with SerializedObject
- Scene operations: See references/scene-operations.md
- Create/modify GameObjects, set parents, wire references, load scenes
- Batch operations: See references/batch-operations.md
- Bulk modify objects, batch add/remove components, rename, layer/tag/material replacement
- Cleanup operations: See references/cleanup-operations.md
- Detect broken scripts, missing references, unused materials, empty GameObjects
- Undo operations: See references/undo-operations.md
- Undo-aware operations: RecordObject, AddComponent, SetParent, grouping
- Selection operations: See references/selection-operations.md
- Get/set selection, multi-select, filter by type/editability
- PlayMode automation (zsh): See references/playmode-automation-zsh.md
- Click UI buttons, invoke methods, set fields, tool combination workflows for zsh users
- PlayMode automation (PowerShell): See references/playmode-automation-powershell.md
- Click UI buttons, invoke methods, set fields, tool combination workflows for PowerShell users
- PlayMode UI controls: See references/playmode-ui-controls.md
- InputField, Slider, Toggle, Dropdown, drag & drop simulation, list all UI controls
- PlayMode inspection: See references/playmode-inspection.md
- Scene info, game state via reflection, physics state, raycast checks, GameObject search, position/rotation