CtrlK
BlogDocsLog inGet started
Tessl Logo

script-update-or-create

Write a `.cs` script file (create or overwrite) with the provided C# code. Validates syntax via Roslyn before write — invalid code is rejected with error details and the file is left untouched. Refreshes the AssetDatabase and delivers the final result via `requestId` after Unity finishes the triggered compilation. Use 'script-read' to inspect existing content first.

60

Quality

70%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

Fix and improve this skill with Tessl

tessl review fix ./Unity-MCP-Plugin/.claude/skills/script-update-or-create/SKILL.md
SKILL.md
Quality
Evals
Security

Script / Update or Create

Updates or creates script file with the provided C# code. Does AssetDatabase.Refresh() at the end. Provides compilation error details if the code has syntax errors. Use 'script-read' tool to read existing script files first.

Inputs

  • filePath — required .cs path.
  • content — C# source. MUST pass ScriptUtils.IsValidCSharpSyntax.
  • requestId — required for the processing/delivered-later contract.

Behavior

Creates any missing parent directories, writes the file, then calls AssetDatabase.Refresh and schedules a post-compilation notification so the final response is delivered after Unity finishes the recompile.

How to Call

unity-mcp-cli run-tool script-update-or-create --input '{
  "filePath": "string_value",
  "content": "string_value"
}'

For complex input (multi-line strings, code), save the JSON to a file and use:

unity-mcp-cli run-tool script-update-or-create --input-file args.json

Or pipe via stdin (recommended):

unity-mcp-cli run-tool script-update-or-create --input-file - <<'EOF'
{"param": "value"}
EOF

Troubleshooting

If unity-mcp-cli is not found, either install it globally (npm install -g unity-mcp-cli) or use npx unity-mcp-cli instead. Read the /unity-initial-setup skill for detailed installation instructions.

Input

NameTypeRequiredDescription
filePathstringYesThe path to the file. Sample: "Assets/Scripts/MyScript.cs".
contentstringYesC# code - content of the file.

Input JSON Schema

{
  "type": "object",
  "properties": {
    "filePath": {
      "type": "string"
    },
    "content": {
      "type": "string"
    }
  },
  "required": [
    "filePath",
    "content"
  ]
}

Output

This tool does not return structured output.

Repository
IvanMurzak/Unity-MCP
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.