Task
Execute the following request using uloop execute-dynamic-code : $ARGUMENTS
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
Tool Reference
uloop execute-dynamic-code --code '<c# code>'
Parameters
Parameter Type Default Description
--code
string
C# code to execute (direct statements, no class wrapper)
--compile-only
boolean false
Compile without execution
Code Format
Write direct statements only (no classes/namespaces/methods). Return is optional.
using UnityEngine; var x = Mathf.PI; return x;
String Literals (Shell-specific)
Shell Method
bash/zsh '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
Global Options
Option Description
--project-path <path>
Target a specific Unity project (mutually exclusive with --port )
-p, --port <port>
Specify Unity TCP port directly (mutually exclusive with --project-path )
Output
Returns JSON with execution result or compile errors.
For file/directory operations, use terminal commands instead.
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: See references/playmode-automation.md
-
Click UI buttons, raycast interaction, invoke methods, set fields, tool combination workflows
-
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, GameObject search, position/rotation