AI Slop Code Risk Monitor

IvanMurzak/Unity-MCP

SlopCodeMonitor badge for IvanMurzak/Unity-MCP Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

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.

6.5 Moderate pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for IvanMurzak/Unity-MCP, a C# project with 4,562 GitHub stars. SynthScan examined 196,612 lines of code across 1487 source files, recording 561 pattern matches distributed across 17 syntactic categories. The legacy adjusted pattern signal is 6.5 (Moderate pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

6.5
Adjusted Signal
6.5
Raw Pattern Score
100%
Time Factor
2026-10-31
Last Push
4.6K
Stars
C#
Language
196.6K
Lines of Code
1.5K
Files
561
Pattern Hits
2026-10-31
Scan Date
0.03
HC Hit Rate

Risk Review · Payload v1

Use each vector to guide manual verification of the underlying findings.

Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.

Cognitive Ownership Risk 7.0/100 · LOW

Can maintainers explain intent, assumptions, and trade-offs? 289 finding(s).

Hallucinated Dependency & Supply Chain Risk 10.2/100 · LOW

Are imports declared and package/API names verified? 62 finding(s).

Agent Over-Engineering Ratio 14.5/100 · LOW

Are wrappers, guards, and repeated structures necessary? 272 finding(s).

PR Review Velocity Impact 28.6/100 · MEDIUM

Which changes need focused human review? 561 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 31HIGH 17MEDIUM 199LOW 314

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 561 distinct pattern matches across 17 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. 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 configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Decorative Section Separators191 hits · 530 pts
SeverityFileLineSnippetContext
MEDIUMREADME.md300# 1.1 Install unity-mcp-cli # ┌────────────────────┐COMMENT
MEDIUMREADME.md302 # ├────────────────────┤COMMENT
MEDIUMREADME.md317 # └────────────────────┘COMMENT
MEDIUMdocs/README.es.md300# 1.1 Instalar unity-mcp-cli # ┌────────────────────┐COMMENT
MEDIUMdocs/README.es.md302 # ├────────────────────┤COMMENT
MEDIUMdocs/README.es.md317 # └────────────────────┘COMMENT
MEDIUMdocs/README.ja.md300# 1.1 unity-mcp-cli をインストール # ┌────────────────────┐COMMENT
MEDIUMdocs/README.ja.md302 # ├────────────────────┤COMMENT
MEDIUMdocs/README.ja.md317 # └────────────────────┘COMMENT
MEDIUMdocs/README.zh-CN.md300# 1.1 安装 unity-mcp-cli # ┌────────────────────┐COMMENT
MEDIUMdocs/README.zh-CN.md302 # ├────────────────────┤COMMENT
MEDIUMdocs/README.zh-CN.md317 # └────────────────────┘COMMENT
MEDIUMcli/README.md57# 1.1 Install unity-mcp-cli # ┌────────────────────┐COMMENT
MEDIUMcli/README.md59 # ├────────────────────┤COMMENT
MEDIUMcli/README.md74 # └────────────────────┘COMMENT
MEDIUMcli/tests/open.test.ts168// ── Unit tests for the extracted validation helpers ───────────────────────────COMMENT
MEDIUMcli/tests/close.test.ts63// ─── close command — flag parsing, refusals, idempotent no-op ─────────────────COMMENT
MEDIUMcli/tests/close.test.ts139// ─── path normalisation helpers (pure unit tests) ────────────────────────────COMMENT
MEDIUMcli/tests/close.test.ts234// ─── shutdown utility unit tests ──────────────────────────────────────────────COMMENT
MEDIUMcli/tests/close.test.ts355// ─── live-editor integration smoke test (gated by UMCP_LIVE=1) ───────────────COMMENT
MEDIUMcli/tests/run-tool.test.ts57// ── resolveConnectionFromConfig unit tests ────────────────────────────────────COMMENT
MEDIUMcli/tests/run-tool.test.ts193// ── machine-store credential wiring (default, un-injected path) ───────────────COMMENT
MEDIUMcli/tests/run-tool.test.ts242// ── resolveConnection cloud-auth-missing signal (feeds the run-tool guard) ─────COMMENT
MEDIUMcli/tests/run-tool.test.ts329// ── run-tool CLI integration tests ────────────────────────────────────────────COMMENT
MEDIUMcli/tests/run-tool.test.ts371// ── run-tool config-based resolution integration tests ────────────────────────COMMENT
MEDIUMcli/docs/README.es.md57# 1.1 Install unity-mcp-cli # ┌────────────────────┐COMMENT
MEDIUMcli/docs/README.es.md59 # ├────────────────────┤COMMENT
MEDIUMcli/docs/README.es.md74 # └────────────────────┘COMMENT
MEDIUMcli/docs/README.ja.md57# 1.1 Install unity-mcp-cli # ┌────────────────────┐COMMENT
MEDIUMcli/docs/README.ja.md59 # ├────────────────────┤COMMENT
MEDIUMcli/docs/README.ja.md74 # └────────────────────┘COMMENT
MEDIUMcli/docs/README.zh-CN.md57# 1.1 Install unity-mcp-cli # ┌────────────────────┐COMMENT
MEDIUMcli/docs/README.zh-CN.md59 # ├────────────────────┤COMMENT
MEDIUMcli/docs/README.zh-CN.md74 # └────────────────────┘COMMENT
MEDIUMcli/src/commands/install-plugin.ts50 // ── Phase 1: install the plugin into the Unity project's manifest ────────COMMENT
MEDIUMcli/src/commands/install-plugin.ts99 // ── Phase 2: download the RID-matched server binary (--with-server) ──────COMMENT
MEDIUMcli/src/commands/install-plugin.ts122 // ── Phase 3: redeem an enrollment code (--enroll / --enroll-stdin) ───────COMMENT
MEDIUM.github/workflows/release.yml1# ┌──────────────────────────────────────────────────────────────────┐COMMENT
MEDIUM.github/workflows/release.yml7# └──────────────────────────────────────────────────────────────────┘COMMENT
MEDIUM.github/workflows/release.yml374 # -------------------COMMENT
MEDIUM.github/workflows/release.yml490 # -------------------COMMENT
MEDIUM.github/workflows/test_unity_plugin.yml1# ┌──────────────────────────────────────────────────────────────────┐COMMENT
MEDIUM.github/workflows/test_unity_plugin.yml7# └──────────────────────────────────────────────────────────────────┘COMMENT
MEDIUM.github/workflows/test_pull_request_manual.yml1# ┌──────────────────────────────────────────────────────────────────┐COMMENT
MEDIUM.github/workflows/test_pull_request_manual.yml7# └──────────────────────────────────────────────────────────────────┘COMMENT
MEDIUM.github/workflows/test_pull_request_manual.yml188 # -------------------COMMENT
MEDIUM.github/workflows/test_pull_request_manual.yml316 # -------------------COMMENT
MEDIUM.github/workflows/publish_test_results.yml1# ┌──────────────────────────────────────────────────────────────────┐COMMENT
MEDIUM.github/workflows/publish_test_results.yml7# └──────────────────────────────────────────────────────────────────┘COMMENT
MEDIUM.github/workflows/test_pull_request.yml1# ┌──────────────────────────────────────────────────────────────────┐COMMENT
MEDIUM.github/workflows/test_pull_request.yml7# └──────────────────────────────────────────────────────────────────┘COMMENT
MEDIUM.github/workflows/test_pull_request.yml211 # -------------------COMMENT
MEDIUM.github/workflows/test_pull_request.yml339 # -------------------COMMENT
MEDIUM.github/workflows/test_cli.yml1# ┌──────────────────────────────────────────────────────────────────┐COMMENT
MEDIUM.github/workflows/test_cli.yml7# └──────────────────────────────────────────────────────────────────┘COMMENT
MEDIUM.github/workflows/claude.yml1# ┌──────────────────────────────────────────────────────────────────┐COMMENT
MEDIUM.github/workflows/claude.yml7# └──────────────────────────────────────────────────────────────────┘COMMENT
MEDIUM.github/workflows/generate-unity-activation-file.yml1# ┌──────────────────────────────────────────────────────────────────┐COMMENT
MEDIUM.github/workflows/generate-unity-activation-file.yml7# └──────────────────────────────────────────────────────────────────┘COMMENT
MEDIUM.github/workflows/filter_oracle.yml1# ┌──────────────────────────────────────────────────────────────────┐COMMENT
131 more matches not shown…
Hallucination Indicators31 hits · 325 pts
SeverityFileLineSnippetContext
CRITICAL…cinemachine/Tests/Editor/Rql/CinemachineModuleTests.cs39 var skill = global::com.IvanMurzak.Unity.MCP.Editor.API.Skill_Rql.Render();CODE
CRITICAL…cinemachine/Tests/Editor/Rql/CinemachineModuleTests.cs125 var skill = global::com.IvanMurzak.Unity.MCP.Editor.API.Skill_Rql.Render();CODE
CRITICAL…p.probuilder/Tests/Editor/Rql/ProBuilderModuleTests.cs43 var skill = global::com.IvanMurzak.Unity.MCP.Editor.API.Skill_Rql.Render();CODE
CRITICAL…p.probuilder/Tests/Editor/Rql/ProBuilderModuleTests.cs130 var skill = global::com.IvanMurzak.Unity.MCP.Editor.API.Skill_Rql.Render();CODE
CRITICAL…p.navigation/Tests/Editor/Rql/NavigationModuleTests.cs35 var skill = global::com.IvanMurzak.Unity.MCP.Editor.API.Skill_Rql.Render();CODE
CRITICAL…mcp.animation/Tests/Editor/Rql/AnimationModuleTests.cs43 var skill = global::com.IvanMurzak.Unity.MCP.Editor.API.Skill_Rql.Render();CODE
CRITICAL…mcp.animation/Tests/Editor/Rql/AnimationModuleTests.cs143 var skill = global::com.IvanMurzak.Unity.MCP.Editor.API.Skill_Rql.Render();CODE
CRITICAL…lesystem/Tests/Editor/Rql/ParticleSystemModuleTests.cs34 StringAssert.Contains("## Particle systems", global::com.IvanMurzak.Unity.MCP.Editor.API.Skill_Rql.Render())CODE
CRITICAL…/Editor/Rql/UnityEngine_ParticleSystem_AdapterTests.cs51 var response = UnityMcpPluginEditor.Instance.Tools!.RunCallTool(new com.IvanMurzak.McpPlugin.Common.Model.ReCODE
CRITICAL…inputsystem/Tests/Editor/Rql/InputSystemModuleTests.cs128 var skill = global::com.IvanMurzak.Unity.MCP.Editor.API.Skill_Rql.Render();CODE
CRITICAL…ity.mcp.splines/Tests/Editor/Rql/SplinesModuleTests.cs36 var skill = global::com.IvanMurzak.Unity.MCP.Editor.API.Skill_Rql.Render();CODE
CRITICAL…ity.mcp.splines/Tests/Editor/Rql/SplinesModuleTests.cs82 var skill = global::com.IvanMurzak.Unity.MCP.Editor.API.Skill_Rql.Render();CODE
CRITICAL…ql/UnityEngine_Splines_SplineContainer_AdapterTests.cs124 var response = UnityMcpPluginEditor.Instance.Tools!.RunCallTool(new com.IvanMurzak.McpPlugin.Common.Model.ReCODE
CRITICAL…ity.mcp.terrain/Tests/Editor/Rql/TerrainModuleTests.cs36 var skill = global::com.IvanMurzak.Unity.MCP.Editor.API.Skill_Rql.Render();CODE
CRITICAL…UnityEngine_Playables_PlayableDirector_AdapterTests.cs40 private static string Ref(Object o) => $"ref(\"{com.IvanMurzak.Unity.MCP.Editor.Rql.RqlUnity.Engine.RefOf(o)}\")CODE
CRITICAL…y.mcp.timeline/Tests/Editor/Rql/TimelineModuleTests.cs36 var skill = global::com.IvanMurzak.Unity.MCP.Editor.API.Skill_Rql.Render();CODE
CRITICAL…ity.mcp.tilemap/Tests/Editor/Rql/TilemapModuleTests.cs36 var skill = global::com.IvanMurzak.Unity.MCP.Editor.API.Skill_Rql.Render();CODE
CRITICAL…RCASE/Tests/Editor/Rql/YOUR_FEATURE_NAMEModuleTests.cs90 var skill = global::com.IvanMurzak.Unity.MCP.Editor.API.Skill_Rql.Render();CODE
CRITICAL…Tests/EditorRqlModules/Lighting/LightingModuleTests.cs39 var skill = global::com.IvanMurzak.Unity.MCP.Editor.API.Skill_Rql.Render().Replace("\r\n", "\n");CODE
CRITICAL…/Tests/Editor/Rql/EditorApi/RqlEditorApi_StateTests.cs124 var logger = new com.IvanMurzak.Unity.MCP.Utils.UnityLogger("com.IvanMurzak.McpPlugin.ToolRunnerCollection")CODE
CRITICAL…ql/Adapters/Asset/UnityEngine_Material_AdapterTests.cs110 private static string RefOf(Object o) => com.IvanMurzak.Unity.MCP.Editor.Rql.RqlUnity.Engine.RefOf(o)!;CODE
CRITICAL⚡…mcp/Tests/Editor/Tool/RunToolStructuredContentTests.cs44 _reflector.JsonSerializer.AddConverter(new com.IvanMurzak.Unity.MCP.JsonConverters.Vector3Converter());CODE
CRITICAL⚡…mcp/Tests/Editor/Tool/RunToolStructuredContentTests.cs45 _reflector.JsonSerializer.AddConverter(new com.IvanMurzak.Unity.MCP.JsonConverters.ColorConverter());CODE
CRITICAL⚡…mcp/Tests/Editor/Tool/RunToolStructuredContentTests.cs46 _reflector.JsonSerializer.AddConverter(new com.IvanMurzak.Unity.MCP.JsonConverters.QuaternionConverter());CODE
CRITICAL…cp/Tests/Editor/Tool/Script/ScriptExecuteGuardTests.cs66 Code = "System.Threading.Tasks.Task.Factory.StartNew(() => 5, System.Threading.CancellationToken.None, "CODE
CRITICAL…anmurzak.unity.mcp/Editor/Scripts/Rql/RqlUnity.Refs.cs24 var o = EditorUtility.EntityIdToObject(com.IvanMurzak.Unity.MCP.Runtime.Utils.EntityIdUtils.FromString(id));CODE
CRITICAL…ty.mcp/Editor/Scripts/Rql/ToolFormat/RqlToolBinding.cs96 _signatures.GetOrAdd(method, m => com.IvanMurzak.ReflectorNet.Utils.MainThread.Instance.Run(() => Build(m, dCODE
CRITICAL…ty.mcp/Editor/Scripts/Rql/ToolFormat/RqlToolBinding.cs271 var ok = com.IvanMurzak.ReflectorNet.Utils.MainThread.Instance.Run(() =>CODE
CRITICAL…ty.mcp/Editor/Scripts/Rql/ToolFormat/RqlToolBinding.cs311 return com.IvanMurzak.ReflectorNet.Utils.MainThread.Instance.Run(() =>CODE
CRITICAL…ity.mcp/Editor/Scripts/API/SystemTool/Skills.Create.cs38 "run via com.IvanMurzak.ReflectorNet.Utils.MainThread.Instance.Run(), and the method should either " +CODE
CRITICAL…ity.mcp/Editor/Scripts/API/SystemTool/Skills.Create.cs48 "All Unity API calls must use com.IvanMurzak.ReflectorNet.Utils.MainThread.Instance.Run(). " +CODE
Over-Commented Block180 hits · 178 pts
SeverityFileLineSnippetContext
LOWREADME.md301npm install -g unity-mcp-cli # │ Available AI agent │COMMENT
LOWdocs/README.es.md301npm install -g unity-mcp-cli # │ Available AI agent │COMMENT
LOWdocs/README.ja.md301npm install -g unity-mcp-cli # │ Available AI agent │COMMENT
LOWdocs/README.zh-CN.md301npm install -g unity-mcp-cli # │ Available AI agent │COMMENT
LOWcli/tests/extensions-catalog-csharp-parity.test.ts1import { describe, it, expect } from 'vitest';COMMENT
LOWcli/tests/launch-error-dismiss.test.ts221describe('permanent-error message constants', () => {COMMENT
LOWcli/tests/unity-editor.test.ts461// ---------------------------------------------------------------------------COMMENT
LOWcli/tests/project-identity.test.ts1// Copyright (c) 2024 Ivan Murzak. All rights reserved.COMMENT
LOWcli/src/cli.ts1// CLI entry for `unity-mcp-cli`, exported at the `./cli` subpath.COMMENT
LOWcli/src/lib.ts1// Library entry point for `unity-mcp-cli`.COMMENT
LOWcli/src/utils/extensions-catalog.ts1// The CLI's typed mirror of the SHARED extension catalogue — the single source ofCOMMENT
LOWcli/src/utils/unity-editor.ts301 // user-typed trailing separator (e.g. `C:\Program Files\Unity\Hub\Editor\`)COMMENT
LOWcli/src/utils/launch-error-dismiss.ts381 `${LINUX_XDOTOOL_MISSING_PREFIX}. Install it (e.g. \`sudo apt-get install xdotool\`) to enable Unity launch-erroCOMMENT
LOWcli/src/lib/open.ts341 // Don't throw out of the event listener — the caller can'tCOMMENT
LOWcli/src/lib/logger.ts1// Minimal logger interface used by shared utility functions that areCOMMENT
LOW.github/workflows/release.yml1# ┌──────────────────────────────────────────────────────────────────┐COMMENT
LOW.github/workflows/release.yml241 name: unity-installer-packageCOMMENT
LOW.github/workflows/release.yml741 done <<< "$release_notes_cleaned"COMMENT
LOW.github/workflows/release.yml761 # blind spot is how the truncation-budget bug fixed above went unnoticed.COMMENT
LOW.github/workflows/test_unity_plugin.yml1# ┌──────────────────────────────────────────────────────────────────┐COMMENT
LOW.github/workflows/test_unity_plugin.yml21 # ordinary pull_request run, where the chain feed steps below are no-ops.COMMENT
LOW.github/workflows/test_pull_request_manual.yml41 # Resolve what to test, ONCE. A fork PR's commits are fetchable from this repositoryCOMMENT
LOW.github/workflows/test_pull_request.yml1# ┌──────────────────────────────────────────────────────────────────┐COMMENT
LOW.github/workflows/test_cli.yml1# ┌──────────────────────────────────────────────────────────────────┐COMMENT
LOW.github/workflows/generate-unity-activation-file.yml1# ┌──────────────────────────────────────────────────────────────────┐COMMENT
LOW.github/workflows/filter_oracle.yml1# ┌──────────────────────────────────────────────────────────────────┐COMMENT
LOW.github/scripts/chain_fixture.py1#!/usr/bin/env python3COMMENT
LOW.github/scripts/chain_feed.py61# lock input validation — every lock-sourced scalar, strictly, at LOAD timeCOMMENT
LOW.github/scripts/chain_feed.py81#: A ref as `lock.py` records it (`refs/heads/<branch>`, `refs/pull/<n>/head`, a sha). This fileCOMMENT
LOW.github/scripts/chain_feed.py521 },COMMENT
LOW.github/scripts/chain_feed.py3581 ), end="")COMMENT
LOW…OWERCASE/Editor/Scripts/Rql/YOUR_FEATURE_NAMEModule.cs21 /// <summary>COMMENT
LOWtemplates/extension/commands/open-all-projects-unix.sh1#!/usr/bin/env bashCOMMENT
LOW…/Assets/com.IvanMurzak/AI Game Dev Installer/README.md301npm install -g unity-mcp-cli # │ Available AI agent │COMMENT
LOW…-MCP-Plugin/Tests~/EngineFree/ConnectionConfigTests.cs21 /// <summary>COMMENT
LOW…ity-MCP-Plugin/Tests~/EngineFree/ToolAttributeTests.cs21{COMMENT
LOWUnity-MCP-Plugin/Tests~/EngineFree/NuGetPinGateTests.cs61 /// record that <i>some</i> NuGet DLL set was restored, never <i>which</i>. Raise a pin withoutCOMMENT
LOW…MCP-Plugin/Packages/com.ivanmurzak.unity.mcp/README.md301npm install -g unity-mcp-cli # │ Available AI agent │COMMENT
LOW…rzak.unity.mcp/Runtime/UnityMcpPluginRuntime.Static.cs81 }COMMENT
LOW…rzak.unity.mcp/Runtime/UnityMcpPluginRuntime.Static.cs101 /// {COMMENT
LOW….ivanmurzak.unity.mcp/Runtime/UnityMcpPlugin.Config.cs101COMMENT
LOW….ivanmurzak.unity.mcp/Runtime/UnityMcpPlugin.Config.cs121COMMENT
LOW….ivanmurzak.unity.mcp/Runtime/UnityMcpPlugin.Config.cs181 public TransportMethod TransportMethod { get; set; } = TransportMethod.streamableHttp;COMMENT
LOW….ivanmurzak.unity.mcp/Runtime/UnityMcpPlugin.Config.cs261 // already-written client `.mcp.json` (stale Bearer -> 401; Unity-MCP #897 / mcp-authorize i2).COMMENT
LOW….ivanmurzak.unity.mcp/Runtime/UnityMcpPluginBuilder.cs21 /// Builder for configuring a runtime <see cref="UnityMcpPluginRuntime"/> from C# code.COMMENT
LOW…ges/com.ivanmurzak.unity.mcp/Runtime/UnityMcpPlugin.cs241 public static string GenerateToken()COMMENT
LOW…ges/com.ivanmurzak.unity.mcp/Runtime/UnityMcpPlugin.cs261 /// directory reported with backslashes hashes identically to its forward-slash form. The portCOMMENT
LOW…ivanmurzak.unity.mcp/Runtime/Unity/Logs/ILogStorage.cs61 }COMMENT
LOW…on/UnityEngine_Material_ReflectionConverter.Runtime.cs101 logs?.Success($"Property '{propertyValue.name}' modified to '{value}'. Converter: {GetType().GetCOMMENT
LOW…mpl/UnityEngine_Texture_ReflectionConverter.Runtime.cs21using LogLevel = Microsoft.Extensions.Logging.LogLevel;COMMENT
LOW…mpl/UnityEngine_Texture_ReflectionConverter.Runtime.cs41COMMENT
LOW…Impl/UnityEngine_Sprite_ReflectionConverter.Runtime.cs21using LogLevel = Microsoft.Extensions.Logging.LogLevel;COMMENT
LOW…Impl/UnityEngine_Sprite_ReflectionConverter.Runtime.cs41COMMENT
LOW…om.ivanmurzak.unity.mcp/Runtime/Utils/EntityIdUtils.cs21 /// Unity 6.5+ encodes an EntityId's raw data asCOMMENT
LOW…ivanmurzak.unity.mcp/Runtime/Utils/EnvironmentUtils.cs21 /// <summary>COMMENT
LOW…ivanmurzak.unity.mcp/Runtime/Utils/EnvironmentUtils.cs121 }COMMENT
LOW…rzak.unity.mcp/Runtime/Data/ObjectRef.pre-Unity.6.5.cs61#endifCOMMENT
LOW…ity.mcp/Tests/Editor/McpServerRestartAndPidKeyTests.cs21 /// before the binary folder is deleted, then STARTED after publish, so the post-publish StartServer()COMMENT
LOW…k.unity.mcp/Tests/Editor/McpServerPathOverrideTests.cs21 /// (<see cref="McpServerManager.ServerPathEnvVar"/>): when it points at an EXISTING file that file isCOMMENT
LOW…urzak.unity.mcp/Tests/Editor/ConnectionManagerTests.cs161 }COMMENT
120 more matches not shown…
Cross-Language Confusion11 hits · 56 pts
SeverityFileLineSnippetContext
HIGH⚡.github/scripts/chain_feed.py248 "build": "npm ci && npm run typecheck && npm run build",CODE
HIGH⚡.github/scripts/chain_feed.py250 "npm pkg set version={ws_version} && npm ci && npm run build && npm pack --pack-destination {npm_feed}",CODE
HIGH.github/scripts/chain_feed.py269 "build": "cd cli && npm ci && npm run build",CODE
HIGH.github/scripts/chain_feed.py271 "cd cli && npm ci && npm pkg set version={ws_version} && npm pack --pack-destination {npm_feed}",CODE
HIGH.github/scripts/chain_feed.py371 "cd cli && npm ci && npm pkg set version={ws_version} && npm pack --pack-destination {npm_feed}",CODE
HIGH.github/scripts/chain_feed.py416 "cd cli && npm ci && npm pkg set version={ws_version} && npm pack --pack-destination {npm_feed}",CODE
HIGH.github/scripts/chain_feed.py449 "build": "pnpm install --frozen-lockfile && pnpm build && pnpm typecheck",CODE
HIGH.github/scripts/chain_feed.py3439 " group: ${{ github.event_name == 'workflow_dispatch' && %s || format('%s-{0}', github.ref) }}"CODE
HIGH.github/scripts/chain_feed.py3474 " exe=\"$(\"$c\" -c '%s' 2>/dev/null)\" || continue" % CHAIN_PY_PROBE,CODE
HIGH.github/scripts/chain_feed.py3492 " try { $out = & $cmd.Source -c '%s' 2>$null } catch { continue }" % CHAIN_PY_PROBE,CODE
HIGH.github/scripts/chain_feed.py1257 yet its workflow packs with `npm pkg set version=$CHAIN_WS_VERSION && npm pack`.STRING
Hyper-Verbose Identifiers60 hits · 51 pts
SeverityFileLineSnippetContext
LOWcli/src/utils/extension-compatibility.ts9export function unityExtensionDependencies(packageId: string, unityVersion: string): Readonly<Record<string, string>> {CODE
LOWcli/src/utils/cloud-login.ts78function buildAccountSwitchConfirm(CODE
LOWcli/src/utils/connection.ts38export function resolveAndValidateProjectPath(positionalPath: string | undefined, options: ConnectionOptions): string {CODE
LOWcli/src/utils/cloud-credentials.ts41export function createCloudCredentialProvider(CODE
LOWcli/src/utils/cloud-credentials.ts68export function resetCloudCredentialProviderForTests(): void {CODE
LOWcli/src/utils/unity-hub.ts225export function parseInstalledEditorsLine(line: string): InstalledEditor | null {CODE
LOWcli/src/utils/unity-hub.ts483function runHubInstallWithProgress(hubPath: string, args: string[], version: string): Promise<void> {CODE
LOWcli/src/utils/unity-editor.ts160export function getSecondaryInstallPathFile(os: NodeJS.Platform): string | null {CODE
LOWcli/src/utils/unity-editor.ts194export function readSecondaryInstallPaths(os: NodeJS.Platform): string[] {CODE
LOWcli/src/utils/unity-editor.ts258function findEditorPathByCommonLocations(version?: string): string | null {CODE
LOWcli/src/utils/manifest.ts55export async function resolveLatestPackageVersion(CODE
LOWcli/src/utils/config.ts112export function getOrCreateConfig(projectPath: string): UnityConnectionConfig {CODE
LOWcli/src/utils/config.ts215export async function resolveConnectionFromConfig(CODE
LOWcli/src/utils/launch-error-dismiss.ts97export async function tryDismissLaunchErrorsDialog(CODE
LOWcli/src/lib/create-project.ts23function defaultResolveEditorExecutable(editorInstallPath: string): string | null {CODE
LOWcli/src/lib/open.ts83function extractEditorPathFromCommandLine(commandLine: string): string {CODE
LOWcli/src/lib/open.ts628async function pollAndDismissLaunchErrors(opts: PollAndDismissOptions): Promise<void> {CODE
LOWcli/src/commands/login.ts37async function finishPartialAuthorization(store: MachineCredentialStore): Promise<never> {CODE
LOW.github/scripts/chain_feed.py2053def _assert_only_patch_entry_changed(before_raw, after_raw, old_key, new_key, new_value):CODE
LOW.github/scripts/chain_feed.py2318def pe_version_strings_from_bytes(buf):CODE
LOWtemplates/extension/commands/check-versions.py202def _scripting_define_entries(text: str) -> list[tuple[int, str, list[str]]]:CODE
LOW⚡commands/tools/validate_mcp_openai.py74def convert_mcp_to_openai_tool(mcp_tool):CODE
LOW⚡commands/tests/test_release_dependency_guard.py82 def test_prerelease_resolver_pin_fails(self):STRING
LOW⚡commands/tests/test_release_dependency_guard.py87 def test_unpublished_pin_and_unknown_package_fail(self):STRING
LOW⚡commands/tests/test_release_dependency_guard.py95 def test_resolver_downloads_the_version_exactly_as_written(self):STRING
LOW⚡commands/tests/test_release_dependency_guard.py100 def test_npm_dist_tags_are_not_pins(self):STRING
LOW⚡commands/tests/test_release_dependency_guard.py105 def test_registry_outage_fails_closed(self):STRING
LOW⚡commands/tests/test_release_dependency_guard.py110 def test_local_resolver_feed_fails(self):STRING
LOW⚡commands/tests/test_release_dependency_guard.py115 def test_vendored_code_exec_must_be_a_published_release(self):STRING
LOW⚡commands/tests/test_release_dependency_guard.py127 def test_extension_upm_dependencies_are_scanned(self):STRING
LOW⚡commands/tests/test_release_dependency_guard.py135 def test_missing_shipped_file_fails(self):STRING
LOW⚡commands/tests/test_release_dependency_guard.py142 def test_prerelease_and_normalize(self):STRING
LOWcommands/tests/test_extensions.py19 def test_existing_newer_sdk_dependency_is_preserved(self):CODE
LOWcommands/tests/test_extensions.py40 def test_original_packages_pass_then_undeclared_sibling_assembly_fails(self):CODE
LOW⚡commands/tests/test_extensions.py55 def test_assembly_definition_without_scripts_fails(self):CODE
LOW⚡commands/tests/test_extensions.py62 def test_original_test_deletion_or_assertion_changes_fail(self):CODE
LOW⚡commands/tests/test_extensions.py72 def test_duplicate_native_guid_fails(self):CODE
LOW⚡commands/tests/test_extensions.py79 def test_sync_core_is_selected_local_idempotent_and_dry_run_writes_nothing(self):CODE
LOWcommands/tests/test_extensions.py103 def test_route_metadata_ignores_yaml_only_description_escapes(self):CODE
LOW⚡commands/tests/test_extensions.py150 def test_unsigned_archive_rejected_signed_native_bytes_accepted(self):STRING
LOW⚡commands/tests/test_extensions.py155 def test_foreign_component_file_or_path_traversal_rejected(self):STRING
LOW⚡commands/tests/test_extensions.py161 def test_signer_generated_repository_is_bound_without_loosening_native_metadata(self):STRING
LOWcommands/tests/test_extensions.py177 def test_native_source_file_may_not_be_omitted(self):STRING
LOWcommands/tests/test_extensions.py183 def test_installer_is_reproducible_and_contains_original_guid_and_file_bytes(self):STRING
LOWcommands/tests/test_extensions.py201 def test_published_component_is_never_rebuilt(self):STRING
LOWcommands/tests/test_extensions.py210 def test_route_gate_rejects_old_repository_and_unfiltered_core_tags(self):STRING
LOWcommands/tests/test_extensions.py228 def test_pr_reporter_receives_xml_including_train_prs(self):STRING
LOWcommands/tests/test_extensions.py287 def test_original_modes_remain_active_and_gate_every_publication(self):STRING
LOWcommands/tests/test_commands.py112 def test_bump_rewrites_only_the_version_strings(self):STRING
LOW⚡commands/tests/test_commands.py127 def test_preserves_crlf_and_writes_no_bom(self):STRING
LOW⚡commands/tests/test_commands.py137 def test_what_if_writes_nothing(self):STRING
LOW⚡commands/tests/test_commands.py144 def test_invalid_and_same_version(self):STRING
LOW⚡commands/tests/test_commands.py150 def test_missing_package_json_fails(self):STRING
LOW⚡commands/tests/test_commands.py205 def test_bump_updates_package_json_and_installer(self):STRING
LOW⚡commands/tests/test_commands.py211 def test_update_pins_every_core_reference_and_nothing_else(self):STRING
LOW⚡commands/tests/test_commands.py220 def test_update_falls_back_to_tags_and_what_if_writes_nothing(self):STRING
LOWcommands/tests/test_commands.py232 def test_update_is_a_noop_when_current(self):STRING
LOWcommands/tests/test_commands.py270 def test_replaces_content_and_names(self):STRING
LOWcommands/tests/test_commands.py287 def test_installer_extra_path_moves_the_installer(self):STRING
LOWcommands/tests/test_commands.py295 def test_invalid_feature_name_fails(self):STRING
Deep Nesting29 hits · 24 pts
SeverityFileLineSnippetContext
LOW.github/scripts/chain_fixture.py200CODE
LOW.github/scripts/chain_fixture.py355CODE
LOW.github/scripts/chain_fixture.py404CODE
LOW.github/scripts/chain_fixture.py480CODE
LOW.github/scripts/check_nuget_gate.py97CODE
LOW.github/scripts/chain_feed.py1935CODE
LOW.github/scripts/chain_feed.py1964CODE
LOW.github/scripts/chain_feed.py2252CODE
LOW.github/scripts/chain_feed.py2318CODE
LOW.github/scripts/chain_feed.py2503CODE
LOW.github/scripts/chain_feed.py2751CODE
LOW.github/scripts/chain_feed.py3030CODE
LOW.github/scripts/chain_feed.py3095CODE
LOW.github/scripts/chain_feed.py3147CODE
LOW.github/scripts/chain_feed.py3291CODE
LOW.github/scripts/chain_feed.py3338CODE
LOWtemplates/extension/commands/check-versions.py231CODE
LOWcommands/run_unity_tests.py108CODE
LOWcommands/extensions.py57CODE
LOWcommands/extensions.py166CODE
LOWcommands/extensions.py238CODE
LOWcommands/extensions.py282CODE
LOWcommands/extension_release.py64CODE
LOWcommands/extension_release.py100CODE
LOWcommands/tools/validate_mcp_openai.py94CODE
LOWcommands/tools/validate_json_schema.py48CODE
LOWcommands/tools/validate_json_schema.py74CODE
LOWcommands/tests/test_extensions.py128CODE
LOWcommands/tests/test_extensions.py261CODE
Magic Placeholder Names3 hits · 22 pts
SeverityFileLineSnippetContext
HIGH⚡commands/tools/validate_mcp_openai.py66 print(f" Content: OPENAI_API_KEY=sk-your-api-key-here")CODE
HIGH⚡commands/tools/validate_mcp_openai.py68 print(f" Linux/Mac: export OPENAI_API_KEY='sk-your-api-key-here'")CODE
HIGH⚡commands/tools/validate_mcp_openai.py69 print(f" Windows: set OPENAI_API_KEY=sk-your-api-key-here")CODE
Excessive Try-Catch Wrapping16 hits · 20 pts
SeverityFileLineSnippetContext
LOW.github/scripts/chain_feed.py3318 except Exception as exc: # a corrupt tarball is a failing proof, never a crashCODE
LOW…mplates/extension/commands/update_ai_game_developer.py65 except Exception:CODE
LOW…mplates/extension/commands/update_ai_game_developer.py72 except Exception as exc:CODE
LOW…mplates/extension/commands/update_ai_game_developer.py146 except Exception as exc: # report and exit 1, like the former PowerShell scriptCODE
LOWtemplates/extension/commands/bump_version.py154 except Exception as exc: # report and exit 1, like the former PowerShell scriptCODE
MEDIUMcommands/run_unity_tests.py157 print(f"Error: {parsed.error}")CODE
MEDIUMcommands/run_act_test.py141 print(f"Error: .env file not found at {ENV_FILE}\n")CODE
MEDIUMcommands/run_act_test.py153 print("Error: Missing required secrets in .env file:")CODE
LOWcommands/bump_version.py182 except Exception as exc: # mirror the .ps1 catch-all: report and exit 1CODE
MEDIUMcommands/tools/validate_mcp_openai.py28 print("Error: openai library not found.")CODE
LOWcommands/tools/validate_mcp_openai.py138 except Exception as e:CODE
LOWcommands/tools/validate_mcp_openai.py194 except Exception as e:CODE
LOWcommands/tools/validate_mcp_openai.py307 except Exception as e:CODE
MEDIUMcommands/tools/validate_json_schema.py21 print("Error: jsonschema library not found.")CODE
LOWcommands/tools/validate_json_schema.py124 except Exception as e:CODE
LOWcommands/tools/validate_json_schema.py160 except Exception as e:CODE
Empty Error Handlers3 hits · 15 pts
SeverityFileLineSnippetContext
HIGH.github/scripts/chain_fixture.py865except (ValueError, OSError):CODE
HIGH.github/scripts/chain_feed.py4029except (ValueError, OSError): # pragma: no coverCODE
HIGHcommands/tools/validate_mcp_openai.py21except ImportError:CODE
Structural Annotation Overuse9 hits · 14 pts
SeverityFileLineSnippetContext
LOWREADME.md273## Step 1: Install `Unity MCP Plugin`COMMENT
LOWREADME.md326## Step 2: Install `AI agent`COMMENT
LOWREADME.md340## Step 3: Configure `AI agent`COMMENT
LOW…/Assets/com.IvanMurzak/AI Game Dev Installer/README.md273## Step 1: Install `Unity MCP Plugin`COMMENT
LOW…/Assets/com.IvanMurzak/AI Game Dev Installer/README.md326## Step 2: Install `AI agent`COMMENT
LOW…/Assets/com.IvanMurzak/AI Game Dev Installer/README.md340## Step 3: Configure `AI agent`COMMENT
LOW…MCP-Plugin/Packages/com.ivanmurzak.unity.mcp/README.md273## Step 1: Install `Unity MCP Plugin`COMMENT
LOW…MCP-Plugin/Packages/com.ivanmurzak.unity.mcp/README.md326## Step 2: Install `AI agent`COMMENT
LOW…MCP-Plugin/Packages/com.ivanmurzak.unity.mcp/README.md340## Step 3: Configure `AI agent`COMMENT
Unused Imports13 hits · 13 pts
SeverityFileLineSnippetContext
LOW…plates/extension/commands/open_all_projects_windows.py14CODE
LOW…mplates/extension/commands/update_ai_game_developer.py14CODE
LOWtemplates/extension/commands/bump_version.py17CODE
LOWtemplates/extension/commands/init.py22CODE
LOWtemplates/extension/commands/check-versions.py48CODE
LOWcommands/run_unity_tests.py14CODE
LOWcommands/run_act_test.py15CODE
LOWcommands/extensions.py2CODE
LOWcommands/bump_version.py22CODE
LOWcommands/generate_release.py11CODE
LOWcommands/release_dependency_guard.py30CODE
LOWcommands/extension_release.py2CODE
LOWcommands/tools/validate_json_schema.py12CODE
AI Slop Vocabulary2 hits · 8 pts
SeverityFileLineSnippetContext
MEDIUM⚡.github/scripts/chain_feed.py257 # mixed-language concurrency suite runs MCP-Plugin-dotnet's C# harness from sourceCOMMENT
MEDIUMcommands/tools/validate_mcp_openai.py180 # Check for missing descriptions or other best practicesCOMMENT
Redundant / Tautological Comments5 hits · 8 pts
SeverityFileLineSnippetContext
LOWcommands/tools/validate_mcp_openai.py119 # Check if it's wrapped in a result object (like the example)COMMENT
LOWcommands/tools/validate_mcp_openai.py294 # Check if file existsCOMMENT
LOWcommands/tools/validate_mcp_openai.py326 # Check if filename was provided as command line argumentCOMMENT
LOWcommands/tools/validate_json_schema.py111 # Check if file existsCOMMENT
LOWcommands/tools/validate_json_schema.py169 # Check if filename was provided as command line argumentCOMMENT
Fake / Example Data4 hits · 4 pts
SeverityFileLineSnippetContext
LOW…mcp/Tests/Editor/Tool/RunToolStructuredContentTests.cs703 public static Person ReturnCustomClass() => new Person { Name = "John Doe", Age = 30 };CODE
LOW…mcp/Tests/Editor/Tool/RunToolStructuredContentTests.cs707 CompanyName = "Acme Corp",CODE
LOW…k.unity.mcp/Tests/Editor/Tool/RunToolRqlResultTests.cs66 Assert.AreEqual("John Doe", data!["Name"]!.GetValue<string>());CODE
LOW…k.unity.mcp/Tests/Editor/Tool/RunToolRqlResultTests.cs74 Assert.AreEqual("Acme Corp", data!["CompanyName"]!.GetValue<string>());CODE
Self-Referential Comments1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUM.github/workflows/release.yml715 # Create the release URLCOMMENT
AI Structural Patterns2 hits · 2 pts
SeverityFileLineSnippetContext
LOW.github/scripts/chain_fixture.py294CODE
LOWtemplates/extension/commands/check-versions.py231CODE
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippetContext
LOWtemplates/extension/commands/open-all-projects-unix.sh13# Usage:COMMENT