AI Skills, MCP Tools, and CLI for Unity Engine. Full AI develop and test loop. Use cli for quick setup. Efficient token usage, advanced tools. Any C# method may be turned into a tool by a single line. Works with Claude Code, Gemini, Copilot, Cursor and any other absolutely for free.
This report presents the forensic synthetic code analysis of IvanMurzak/Unity-MCP, a C# project with 4,012 GitHub stars. SynthScan v2.0 examined 132,080 lines of code across 870 source files, recording 385 pattern matches distributed across 14 syntactic categories. The overall adjusted score of 6.1 places this repository in the Low AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
Longitudinal tracking requires multiple scan runs. Once this repository is re-scanned after new commits land, this chart will visualise how the synthetic code signal evolves over time — enabling you to detect whether AI authorship is growing, stabilising, or being actively corrected by human engineers.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 385 distinct pattern matches across 14 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | README.md | 303 | # 1.1 Install unity-mcp-cli # ┌────────────────────┐ | COMMENT |
| MEDIUM | README.md | 305 | # ├────────────────────┤ | COMMENT |
| MEDIUM | README.md | 320 | # └────────────────────┘ | COMMENT |
| MEDIUM | docs/README.es.md | 303 | # 1.1 Instalar unity-mcp-cli # ┌────────────────────┐ | COMMENT |
| MEDIUM | docs/README.es.md | 305 | # ├────────────────────┤ | COMMENT |
| MEDIUM | docs/README.es.md | 320 | # └────────────────────┘ | COMMENT |
| MEDIUM | docs/README.ja.md | 303 | # 1.1 unity-mcp-cli をインストール # ┌────────────────────┐ | COMMENT |
| MEDIUM | docs/README.ja.md | 305 | # ├────────────────────┤ | COMMENT |
| MEDIUM | docs/README.ja.md | 320 | # └────────────────────┘ | COMMENT |
| MEDIUM | docs/README.zh-CN.md | 303 | # 1.1 安装 unity-mcp-cli # ┌────────────────────┐ | COMMENT |
| MEDIUM | docs/README.zh-CN.md | 305 | # ├────────────────────┤ | COMMENT |
| MEDIUM | docs/README.zh-CN.md | 320 | # └────────────────────┘ | COMMENT |
| MEDIUM | cli/README.md | 57 | # 1.1 Install unity-mcp-cli # ┌────────────────────┐ | COMMENT |
| MEDIUM | cli/README.md | 59 | # ├────────────────────┤ | COMMENT |
| MEDIUM | cli/README.md | 74 | # └────────────────────┘ | COMMENT |
| MEDIUM | cli/tests/open.test.ts | 168 | // ── Unit tests for the extracted validation helpers ─────────────────────────── | COMMENT |
| MEDIUM | cli/tests/close.test.ts | 63 | // ─── close command — flag parsing, refusals, idempotent no-op ───────────────── | COMMENT |
| MEDIUM | cli/tests/close.test.ts | 139 | // ─── path normalisation helpers (pure unit tests) ──────────────────────────── | COMMENT |
| MEDIUM | cli/tests/close.test.ts | 234 | // ─── shutdown utility unit tests ────────────────────────────────────────────── | COMMENT |
| MEDIUM | cli/tests/close.test.ts | 355 | // ─── live-editor integration smoke test (gated by UMCP_LIVE=1) ─────────────── | COMMENT |
| MEDIUM | cli/tests/run-tool.test.ts | 57 | // ── resolveConnectionFromConfig unit tests ──────────────────────────────────── | COMMENT |
| MEDIUM | cli/tests/run-tool.test.ts | 193 | // ── machine-store credential wiring (default, un-injected path) ─────────────── | COMMENT |
| MEDIUM | cli/tests/run-tool.test.ts | 242 | // ── resolveConnection cloud-auth-missing signal (feeds the run-tool guard) ───── | COMMENT |
| MEDIUM | cli/tests/run-tool.test.ts | 329 | // ── run-tool CLI integration tests ──────────────────────────────────────────── | COMMENT |
| MEDIUM | cli/tests/run-tool.test.ts | 371 | // ── run-tool config-based resolution integration tests ──────────────────────── | COMMENT |
| MEDIUM | cli/docs/README.es.md | 57 | # 1.1 Install unity-mcp-cli # ┌────────────────────┐ | COMMENT |
| MEDIUM | cli/docs/README.es.md | 59 | # ├────────────────────┤ | COMMENT |
| MEDIUM | cli/docs/README.es.md | 74 | # └────────────────────┘ | COMMENT |
| MEDIUM | cli/docs/README.ja.md | 57 | # 1.1 Install unity-mcp-cli # ┌────────────────────┐ | COMMENT |
| MEDIUM | cli/docs/README.ja.md | 59 | # ├────────────────────┤ | COMMENT |
| MEDIUM | cli/docs/README.ja.md | 74 | # └────────────────────┘ | COMMENT |
| MEDIUM | cli/docs/README.zh-CN.md | 57 | # 1.1 Install unity-mcp-cli # ┌────────────────────┐ | COMMENT |
| MEDIUM | cli/docs/README.zh-CN.md | 59 | # ├────────────────────┤ | COMMENT |
| MEDIUM | cli/docs/README.zh-CN.md | 74 | # └────────────────────┘ | COMMENT |
| MEDIUM | cli/src/commands/install-plugin.ts | 50 | // ── Phase 1: install the plugin into the Unity project's manifest ──────── | COMMENT |
| MEDIUM | cli/src/commands/install-plugin.ts | 99 | // ── Phase 2: download the RID-matched server binary (--with-server) ────── | COMMENT |
| MEDIUM | cli/src/commands/install-plugin.ts | 122 | // ── Phase 3: redeem an enrollment code (--enroll / --enroll-stdin) ─────── | COMMENT |
| MEDIUM | .github/workflows/release.yml | 1 | # ┌──────────────────────────────────────────────────────────────────┐ | COMMENT |
| MEDIUM | .github/workflows/release.yml | 7 | # └──────────────────────────────────────────────────────────────────┘ | COMMENT |
| MEDIUM | .github/workflows/release.yml | 285 | # ------------------- | COMMENT |
| MEDIUM | .github/workflows/release.yml | 374 | # ------------------- | COMMENT |
| MEDIUM | .github/workflows/test_unity_plugin.yml | 1 | # ┌──────────────────────────────────────────────────────────────────┐ | COMMENT |
| MEDIUM | .github/workflows/test_unity_plugin.yml | 7 | # └──────────────────────────────────────────────────────────────────┘ | COMMENT |
| MEDIUM | .github/workflows/test_pull_request_manual.yml | 1 | # ┌──────────────────────────────────────────────────────────────────┐ | COMMENT |
| MEDIUM | .github/workflows/test_pull_request_manual.yml | 7 | # └──────────────────────────────────────────────────────────────────┘ | COMMENT |
| MEDIUM | .github/workflows/test_pull_request_manual.yml | 19 | # ------------------- | COMMENT |
| MEDIUM | .github/workflows/test_pull_request_manual.yml | 99 | # ------------------- | COMMENT |
| MEDIUM | .github/workflows/publish_test_results.yml | 1 | # ┌──────────────────────────────────────────────────────────────────┐ | COMMENT |
| MEDIUM | .github/workflows/publish_test_results.yml | 7 | # └──────────────────────────────────────────────────────────────────┘ | COMMENT |
| MEDIUM | .github/workflows/test_pull_request.yml | 1 | # ┌──────────────────────────────────────────────────────────────────┐ | COMMENT |
| MEDIUM | .github/workflows/test_pull_request.yml | 7 | # └──────────────────────────────────────────────────────────────────┘ | COMMENT |
| MEDIUM | .github/workflows/test_pull_request.yml | 50 | # ------------------- | COMMENT |
| MEDIUM | .github/workflows/test_pull_request.yml | 130 | # ------------------- | COMMENT |
| MEDIUM | .github/workflows/deploy.yml | 1 | # ┌──────────────────────────────────────────────────────────────────┐ | COMMENT |
| MEDIUM | .github/workflows/deploy.yml | 7 | # └──────────────────────────────────────────────────────────────────┘ | COMMENT |
| MEDIUM | .github/workflows/test_cli.yml | 1 | # ┌──────────────────────────────────────────────────────────────────┐ | COMMENT |
| MEDIUM | .github/workflows/test_cli.yml | 7 | # └──────────────────────────────────────────────────────────────────┘ | COMMENT |
| MEDIUM | .github/workflows/claude.yml | 1 | # ┌──────────────────────────────────────────────────────────────────┐ | COMMENT |
| MEDIUM | .github/workflows/claude.yml | 7 | # └──────────────────────────────────────────────────────────────────┘ | COMMENT |
| MEDIUM | .github/workflows/generate-unity-activation-file.yml | 1 | # ┌──────────────────────────────────────────────────────────────────┐ | COMMENT |
| 86 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | README.md | 301 | COMMENT | |
| LOW | docs/README.es.md | 301 | COMMENT | |
| LOW | docs/README.ja.md | 301 | COMMENT | |
| LOW | docs/README.zh-CN.md | 301 | COMMENT | |
| LOW | cli/tests/extensions-catalog-csharp-parity.test.ts | 1 | import { describe, it, expect } from 'vitest'; | COMMENT |
| LOW | cli/tests/launch-error-dismiss.test.ts | 221 | describe('permanent-error message constants', () => { | COMMENT |
| LOW | cli/tests/unity-editor.test.ts | 461 | // --------------------------------------------------------------------------- | COMMENT |
| LOW | cli/tests/project-identity.test.ts | 1 | // Copyright (c) 2024 Ivan Murzak. All rights reserved. | COMMENT |
| LOW | cli/src/cli.ts | 1 | // CLI entry for `unity-mcp-cli`, exported at the `./cli` subpath. | COMMENT |
| LOW | cli/src/lib.ts | 1 | // Library entry point for `unity-mcp-cli`. | COMMENT |
| LOW | cli/src/utils/extensions-catalog.ts | 1 | // The CLI's typed mirror of the SHARED extension catalogue — the single source of | COMMENT |
| LOW | cli/src/utils/unity-editor.ts | 301 | // user-typed trailing separator (e.g. `C:\Program Files\Unity\Hub\Editor\`) | COMMENT |
| LOW | cli/src/utils/launch-error-dismiss.ts | 381 | `${LINUX_XDOTOOL_MISSING_PREFIX}. Install it (e.g. \`sudo apt-get install xdotool\`) to enable Unity launch-erro | COMMENT |
| LOW | cli/src/lib/open.ts | 341 | // We wait briefly so the PID gets surfaced in the result. The | COMMENT |
| LOW | cli/src/lib/types.ts | 1 | // Shared public types for the unity-mcp-cli library API. | COMMENT |
| LOW | cli/src/lib/logger.ts | 1 | // Minimal logger interface used by shared utility functions that are | COMMENT |
| LOW | .github/workflows/release.yml | 181 | - name: Upload Unity Package as artifact | COMMENT |
| LOW | .github/workflows/release.yml | 321 | # with: | COMMENT |
| LOW | .github/workflows/release.yml | 541 | --arg content "$full_message" \ | COMMENT |
| LOW | .github/workflows/test_pull_request_manual.yml | 41 | with: | COMMENT |
| LOW | .github/workflows/test_pull_request_manual.yml | 61 | # unityVersion: "2023.2.22f1" | COMMENT |
| LOW | .github/workflows/publish_test_results.yml | 41 | event_file: artifacts/Event File/event.json | COMMENT |
| LOW | .github/workflows/test_pull_request.yml | 81 | # uses: ./.github/workflows/test_unity_plugin.yml | COMMENT |
| LOW | .github/workflows/generate-unity-activation-file.yml | 1 | # ┌──────────────────────────────────────────────────────────────────┐ | COMMENT |
| LOW | …/Assets/com.IvanMurzak/AI Game Dev Installer/README.md | 301 | COMMENT | |
| LOW | …rzak.unity.mcp/Runtime/UnityMcpPluginRuntime.Static.cs | 81 | } | COMMENT |
| LOW | …rzak.unity.mcp/Runtime/UnityMcpPluginRuntime.Static.cs | 101 | /// { | COMMENT |
| LOW | ….ivanmurzak.unity.mcp/Runtime/UnityMcpPlugin.Config.cs | 81 | public static string CloudServerUrl => CloudServerBaseUrl + "/mcp"; | COMMENT |
| LOW | ….ivanmurzak.unity.mcp/Runtime/UnityMcpPlugin.Config.cs | 101 | /// <remarks> | COMMENT |
| LOW | ….ivanmurzak.unity.mcp/Runtime/UnityMcpPlugin.Config.cs | 121 | /// an anonymous Cloud connection; Local/Custom mode ignores it entirely. Static because the machine | COMMENT |
| LOW | ….ivanmurzak.unity.mcp/Runtime/UnityMcpPlugin.Config.cs | 201 | // Seed the LOCAL server token directly. `GenerateToken()` produces the local server secret; | COMMENT |
| LOW | ….ivanmurzak.unity.mcp/Runtime/UnityMcpPluginBuilder.cs | 21 | /// Builder for configuring a runtime <see cref="UnityMcpPluginRuntime"/> from C# code. | COMMENT |
| LOW | …ges/com.ivanmurzak.unity.mcp/Runtime/UnityMcpPlugin.cs | 241 | public static string GenerateToken() | COMMENT |
| LOW | …ges/com.ivanmurzak.unity.mcp/Runtime/UnityMcpPlugin.cs | 261 | /// directory reported with backslashes hashes identically to its forward-slash form. The port | COMMENT |
| LOW | …on/UnityEngine_Material_ReflectionConverter.Runtime.cs | 101 | logs?.Success($"Property '{propertyValue.name}' modified to '{value}'. Converter: {GetType().Get | COMMENT |
| LOW | …mpl/UnityEngine_Texture_ReflectionConverter.Runtime.cs | 21 | using LogLevel = Microsoft.Extensions.Logging.LogLevel; | COMMENT |
| LOW | …mpl/UnityEngine_Texture_ReflectionConverter.Runtime.cs | 41 | COMMENT | |
| LOW | …Impl/UnityEngine_Sprite_ReflectionConverter.Runtime.cs | 21 | using LogLevel = Microsoft.Extensions.Logging.LogLevel; | COMMENT |
| LOW | …Impl/UnityEngine_Sprite_ReflectionConverter.Runtime.cs | 41 | COMMENT | |
| LOW | …om.ivanmurzak.unity.mcp/Runtime/Utils/EntityIdUtils.cs | 21 | /// Unity 6.5+ encodes an EntityId's raw data as | COMMENT |
| LOW | …ivanmurzak.unity.mcp/Runtime/Utils/EnvironmentUtils.cs | 21 | /// <summary> | COMMENT |
| LOW | …com.ivanmurzak.unity.mcp/Runtime/Data/ComponentData.cs | 21 | public List<SerializedMember?>? fields { get; set; } | COMMENT |
| LOW | …com.ivanmurzak.unity.mcp/Runtime/Data/ComponentData.cs | 41 | // obj: go, | COMMENT |
| LOW | …rzak.unity.mcp/Runtime/Data/ObjectRef.pre-Unity.6.5.cs | 61 | #endif | COMMENT |
| LOW | …ity.mcp/Tests/Editor/McpServerRestartAndPidKeyTests.cs | 21 | /// before the binary folder is deleted, then STARTED after publish, so the post-publish StartServer() | COMMENT |
| LOW | …urzak.unity.mcp/Tests/Editor/ConnectionManagerTests.cs | 161 | } | COMMENT |
| LOW | …ages/com.ivanmurzak.unity.mcp/Tests/Editor/BaseTest.cs | 161 | Debug.Log($"{toolName} Completed (background thread). Result:\n{jsonResult}"); | COMMENT |
| LOW | …ages/com.ivanmurzak.unity.mcp/Tests/Editor/BaseTest.cs | 201 | } | COMMENT |
| LOW | …urzak.unity.mcp/Tests/Editor/McpServerChecksumTests.cs | 21 | /// <c>ZipFile.ExtractToDirectory</c> / <c>Process.Start</c> — so a downloaded server zip is NEVER extracted | COMMENT |
| LOW | …k.unity.mcp/Tests/Editor/McpServerDownloadRaceTests.cs | 21 | /// Regression tests for the first-install server-binary download RACE. On a fresh plugin install two triggers | COMMENT |
| LOW | …nity.mcp/Tests/Editor/ReflectorModuleDiscoveryTests.cs | 21 | using Version = com.IvanMurzak.McpPlugin.Common.Version; | COMMENT |
| LOW | …unity.mcp/Tests/Editor/McpServerBinaryDownloadTests.cs | 21 | /// Covers the deterministic, editor-free pieces of the fix: | COMMENT |
| LOW | …mcp/Tests/Editor/Auth/PinnedMcpPluginInterplayTests.cs | 21 | using R3; | COMMENT |
| LOW | …/Tests/Editor/Auth/ProjectIdentityGoldenVectorTests.cs | 21 | /// <c>MCP-Plugin-dotnet/McpPlugin/src/AgentConfig/ProjectIdentity.GoldenVectors.json</c> (the routing pin + | COMMENT |
| LOW | …Editor/DependencyResolver/NuGetInstallManifestTests.cs | 281 | Assert.IsTrue(manifest.Packages.ContainsKey("Microsoft.Bcl.Memory")); | COMMENT |
| LOW | ….unity.mcp/Tests/Editor/Environment/TestEnvironment.cs | 21 | COMMENT | |
| LOW | ….unity.mcp/Tests/Editor/Environment/TestEnvironment.cs | 41 | // Assert.IsTrue(task.IsCompletedSuccessfully, "DotNet installation failed"); | COMMENT |
| LOW | …ditor/Skills/BuildMcpPluginIfNeededProjectRootTests.cs | 21 | /// auto-fire skill-generation path is invoked with a relative <c>SkillsPath</c>. | COMMENT |
| LOW | …k.unity.mcp/Tests/Editor/Tool/ToolThreadSafetyTests.cs | 21 | namespace com.IvanMurzak.Unity.MCP.Editor.Tests | COMMENT |
| LOW | …sts/Editor/Tool/ToolThreadSafetyTests.pre-Unity.6.5.cs | 21 | namespace com.IvanMurzak.Unity.MCP.Editor.Tests | COMMENT |
| 99 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | …-MCP-Plugin/.claude/skills/unity-skill-create/SKILL.md | 3 | description: Create a new skill (MCP tool) for the Unity Editor by writing a C# (.cs) file that Unity compiles into the | CODE |
| CRITICAL⚡ | …mcp/Tests/Editor/Tool/RunToolStructuredContentTests.cs | 41 | _reflector.JsonSerializer.AddConverter(new com.IvanMurzak.Unity.MCP.JsonConverters.Vector3Converter()); | CODE |
| CRITICAL⚡ | …mcp/Tests/Editor/Tool/RunToolStructuredContentTests.cs | 42 | _reflector.JsonSerializer.AddConverter(new com.IvanMurzak.Unity.MCP.JsonConverters.ColorConverter()); | CODE |
| CRITICAL⚡ | …mcp/Tests/Editor/Tool/RunToolStructuredContentTests.cs | 43 | _reflector.JsonSerializer.AddConverter(new com.IvanMurzak.Unity.MCP.JsonConverters.QuaternionConverter()); | CODE |
| CRITICAL | …ity.mcp/Editor/Scripts/API/SystemTool/Skills.Create.cs | 38 | "run via com.IvanMurzak.ReflectorNet.Utils.MainThread.Instance.Run(), and the method should either " + | CODE |
| CRITICAL | …ity.mcp/Editor/Scripts/API/SystemTool/Skills.Create.cs | 48 | "All Unity API calls must use com.IvanMurzak.ReflectorNet.Utils.MainThread.Instance.Run(). " + | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | README.md | 276 | ## Step 1: Install `Unity MCP Plugin` | COMMENT |
| LOW | README.md | 329 | ## Step 2: Install `AI agent` | COMMENT |
| LOW | README.md | 343 | ## Step 3: Configure `AI agent` | COMMENT |
| LOW | …/Assets/com.IvanMurzak/AI Game Dev Installer/README.md | 276 | ## Step 1: Install `Unity MCP Plugin` | COMMENT |
| LOW | …/Assets/com.IvanMurzak/AI Game Dev Installer/README.md | 329 | ## Step 2: Install `AI agent` | COMMENT |
| LOW | …/Assets/com.IvanMurzak/AI Game Dev Installer/README.md | 343 | ## Step 3: Configure `AI agent` | COMMENT |
| LOW | …r/Tool/Assets/AssetsPrefabCreateTests.pre-Unity.6.5.cs | 141 | // Step 1: create a base prefab | COMMENT |
| LOW⚡ | …r/Tool/Assets/AssetsPrefabCreateTests.pre-Unity.6.5.cs | 172 | // Step 1: create a base prefab | COMMENT |
| LOW⚡ | …r/Tool/Assets/AssetsPrefabCreateTests.pre-Unity.6.5.cs | 181 | // Step 2: create a variant from the asset path | COMMENT |
| LOW⚡ | …r/Tool/Assets/AssetsPrefabCreateTests.pre-Unity.6.5.cs | 252 | // Step 1: create a base prefab (on main thread for setup) | COMMENT |
| LOW⚡ | …r/Tool/Assets/AssetsPrefabCreateTests.pre-Unity.6.5.cs | 260 | // Step 2: create variant from background thread | COMMENT |
| LOW | …cp/Tests/Editor/Tool/Assets/AssetsPrefabCreateTests.cs | 141 | // Step 1: create a base prefab | COMMENT |
| LOW⚡ | …cp/Tests/Editor/Tool/Assets/AssetsPrefabCreateTests.cs | 172 | // Step 1: create a base prefab | COMMENT |
| LOW⚡ | …cp/Tests/Editor/Tool/Assets/AssetsPrefabCreateTests.cs | 181 | // Step 2: create a variant from the asset path | COMMENT |
| LOW⚡ | …cp/Tests/Editor/Tool/Assets/AssetsPrefabCreateTests.cs | 252 | // Step 1: create a base prefab (on main thread for setup) | COMMENT |
| LOW⚡ | …cp/Tests/Editor/Tool/Assets/AssetsPrefabCreateTests.cs | 260 | // Step 2: create variant from background thread | COMMENT |
| LOW⚡ | …ests/Editor/Tool/Console/TestToolConsoleIntegration.cs | 251 | // Step 1: Clear logs | COMMENT |
| LOW⚡ | …ests/Editor/Tool/Console/TestToolConsoleIntegration.cs | 254 | // Step 2: Perform an action (simulate by generating new logs) | COMMENT |
| LOW | …ests/Editor/Tool/Console/TestToolConsoleIntegration.cs | 265 | // Step 3: Get logs - should only contain action logs | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …r/Tool/Assets/AssetsPrefabCreateTests.pre-Unity.6.5.cs | 141 | // Step 1: create a base prefab | COMMENT |
| LOW⚡ | …r/Tool/Assets/AssetsPrefabCreateTests.pre-Unity.6.5.cs | 172 | // Step 1: create a base prefab | COMMENT |
| LOW⚡ | …r/Tool/Assets/AssetsPrefabCreateTests.pre-Unity.6.5.cs | 181 | // Step 2: create a variant from the asset path | COMMENT |
| LOW⚡ | …r/Tool/Assets/AssetsPrefabCreateTests.pre-Unity.6.5.cs | 252 | // Step 1: create a base prefab (on main thread for setup) | COMMENT |
| LOW⚡ | …r/Tool/Assets/AssetsPrefabCreateTests.pre-Unity.6.5.cs | 260 | // Step 2: create variant from background thread | COMMENT |
| LOW | …cp/Tests/Editor/Tool/Assets/AssetsPrefabCreateTests.cs | 141 | // Step 1: create a base prefab | COMMENT |
| LOW⚡ | …cp/Tests/Editor/Tool/Assets/AssetsPrefabCreateTests.cs | 172 | // Step 1: create a base prefab | COMMENT |
| LOW⚡ | …cp/Tests/Editor/Tool/Assets/AssetsPrefabCreateTests.cs | 181 | // Step 2: create a variant from the asset path | COMMENT |
| LOW⚡ | …cp/Tests/Editor/Tool/Assets/AssetsPrefabCreateTests.cs | 252 | // Step 1: create a base prefab (on main thread for setup) | COMMENT |
| LOW⚡ | …cp/Tests/Editor/Tool/Assets/AssetsPrefabCreateTests.cs | 260 | // Step 2: create variant from background thread | COMMENT |
| LOW⚡ | …ests/Editor/Tool/Console/TestToolConsoleIntegration.cs | 251 | // Step 1: Clear logs | COMMENT |
| LOW⚡ | …ests/Editor/Tool/Console/TestToolConsoleIntegration.cs | 254 | // Step 2: Perform an action (simulate by generating new logs) | COMMENT |
| LOW | …ests/Editor/Tool/Console/TestToolConsoleIntegration.cs | 265 | // Step 3: Get logs - should only contain action logs | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | commands/tools/validate_mcp_openai.py | 66 | print(f" Content: OPENAI_API_KEY=sk-your-api-key-here") | CODE |
| HIGH⚡ | commands/tools/validate_mcp_openai.py | 68 | print(f" Linux/Mac: export OPENAI_API_KEY='sk-your-api-key-here'") | CODE |
| HIGH⚡ | commands/tools/validate_mcp_openai.py | 69 | print(f" Windows: set OPENAI_API_KEY=sk-your-api-key-here") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | cli/src/utils/cloud-login.ts | 78 | function buildAccountSwitchConfirm( | CODE |
| LOW | cli/src/utils/connection.ts | 38 | export function resolveAndValidateProjectPath(positionalPath: string | undefined, options: ConnectionOptions): string { | CODE |
| LOW | cli/src/utils/cloud-credentials.ts | 41 | export function createCloudCredentialProvider( | CODE |
| LOW | cli/src/utils/cloud-credentials.ts | 68 | export function resetCloudCredentialProviderForTests(): void { | CODE |
| LOW | cli/src/utils/unity-hub.ts | 225 | export function parseInstalledEditorsLine(line: string): InstalledEditor | null { | CODE |
| LOW | cli/src/utils/unity-hub.ts | 483 | function runHubInstallWithProgress(hubPath: string, args: string[], version: string): Promise<void> { | CODE |
| LOW | cli/src/utils/unity-editor.ts | 160 | export function getSecondaryInstallPathFile(os: NodeJS.Platform): string | null { | CODE |
| LOW | cli/src/utils/unity-editor.ts | 194 | export function readSecondaryInstallPaths(os: NodeJS.Platform): string[] { | CODE |
| LOW | cli/src/utils/unity-editor.ts | 258 | function findEditorPathByCommonLocations(version?: string): string | null { | CODE |
| LOW | cli/src/utils/manifest.ts | 54 | export async function resolveLatestPackageVersion( | CODE |
| LOW | cli/src/utils/config.ts | 89 | export function getOrCreateConfig(projectPath: string): UnityConnectionConfig { | CODE |
| LOW | cli/src/utils/config.ts | 198 | export async function resolveConnectionFromConfig( | CODE |
| LOW | cli/src/utils/launch-error-dismiss.ts | 97 | export async function tryDismissLaunchErrorsDialog( | CODE |
| LOW | cli/src/lib/create-project.ts | 23 | function defaultResolveEditorExecutable(editorInstallPath: string): string | null { | CODE |
| LOW | cli/src/lib/open.ts | 78 | function extractEditorPathFromCommandLine(commandLine: string): string { | CODE |
| LOW | cli/src/lib/open.ts | 509 | async function pollAndDismissLaunchErrors(opts: PollAndDismissOptions): Promise<void> { | CODE |
| LOW | cli/src/commands/login.ts | 37 | async function finishPartialAuthorization(store: MachineCredentialStore): Promise<never> { | CODE |
| LOW⚡ | commands/tools/validate_mcp_openai.py | 74 | def convert_mcp_to_openai_tool(mcp_tool): | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | commands/tools/validate_mcp_openai.py | 28 | print("Error: openai library not found.") | CODE |
| LOW | commands/tools/validate_mcp_openai.py | 138 | except Exception as e: | CODE |
| LOW | commands/tools/validate_mcp_openai.py | 194 | except Exception as e: | CODE |
| LOW | commands/tools/validate_mcp_openai.py | 307 | except Exception as e: | CODE |
| MEDIUM | commands/tools/validate_json_schema.py | 21 | print("Error: jsonschema library not found.") | CODE |
| LOW | commands/tools/validate_json_schema.py | 124 | except Exception as e: | CODE |
| LOW | commands/tools/validate_json_schema.py | 160 | except Exception as e: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | commands/tools/validate_mcp_openai.py | 119 | # Check if it's wrapped in a result object (like the example) | COMMENT |
| LOW | commands/tools/validate_mcp_openai.py | 294 | # Check if file exists | COMMENT |
| LOW | commands/tools/validate_mcp_openai.py | 326 | # Check if filename was provided as command line argument | COMMENT |
| LOW | commands/tools/validate_json_schema.py | 111 | # Check if file exists | COMMENT |
| LOW | commands/tools/validate_json_schema.py | 169 | # Check if filename was provided as command line argument | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .github/scripts/check_nuget_gate.py | 91 | CODE | |
| LOW | commands/tools/validate_mcp_openai.py | 94 | CODE | |
| LOW | commands/tools/validate_json_schema.py | 48 | CODE | |
| LOW | commands/tools/validate_json_schema.py | 74 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | .github/workflows/release.yml | 505 | # Create the release URL | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | commands/tools/validate_mcp_openai.py | 180 | # Check for missing descriptions or other best practices | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …mcp/Tests/Editor/Tool/RunToolStructuredContentTests.cs | 700 | public static Person ReturnCustomClass() => new Person { Name = "John Doe", Age = 30 }; | CODE |
| LOW | …mcp/Tests/Editor/Tool/RunToolStructuredContentTests.cs | 704 | CompanyName = "Acme Corp", | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | commands/tools/validate_json_schema.py | 12 | CODE |