Repository Analysis

IvanMurzak/Unity-MCP

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.1 Low AI signal View on GitHub

Analysis Overview

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).

6.1
Adjusted Score
6.1
Raw Score
100%
Time Factor
2026-08-24
Last Push
4.0K
Stars
C#
Language
132.1K
Lines of Code
870
Files
385
Pattern Hits
2026-08-29
Scan Date
0.01
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

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.

No multi-scan history yet — run the scanner again to build trend data.

Severity Breakdown

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.

CRITICAL 6HIGH 3MEDIUM 150LOW 226

Directory Score Breakdown

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.

Pattern Findings

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.

Decorative Section Separators146 hits · 438 pts
SeverityFileLineSnippetContext
MEDIUMREADME.md303# 1.1 Install unity-mcp-cli # ┌────────────────────┐COMMENT
MEDIUMREADME.md305 # ├────────────────────┤COMMENT
MEDIUMREADME.md320 # └────────────────────┘COMMENT
MEDIUMdocs/README.es.md303# 1.1 Instalar unity-mcp-cli # ┌────────────────────┐COMMENT
MEDIUMdocs/README.es.md305 # ├────────────────────┤COMMENT
MEDIUMdocs/README.es.md320 # └────────────────────┘COMMENT
MEDIUMdocs/README.ja.md303# 1.1 unity-mcp-cli をインストール # ┌────────────────────┐COMMENT
MEDIUMdocs/README.ja.md305 # ├────────────────────┤COMMENT
MEDIUMdocs/README.ja.md320 # └────────────────────┘COMMENT
MEDIUMdocs/README.zh-CN.md303# 1.1 安装 unity-mcp-cli # ┌────────────────────┐COMMENT
MEDIUMdocs/README.zh-CN.md305 # ├────────────────────┤COMMENT
MEDIUMdocs/README.zh-CN.md320 # └────────────────────┘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.yml285 # -------------------COMMENT
MEDIUM.github/workflows/release.yml374 # -------------------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.yml19 # -------------------COMMENT
MEDIUM.github/workflows/test_pull_request_manual.yml99 # -------------------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.yml50 # -------------------COMMENT
MEDIUM.github/workflows/test_pull_request.yml130 # -------------------COMMENT
MEDIUM.github/workflows/deploy.yml1# ┌──────────────────────────────────────────────────────────────────┐COMMENT
MEDIUM.github/workflows/deploy.yml7# └──────────────────────────────────────────────────────────────────┘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
86 more matches not shown…
Over-Commented Block159 hits · 159 pts
SeverityFileLineSnippetContext
LOWREADME.md301COMMENT
LOWdocs/README.es.md301COMMENT
LOWdocs/README.ja.md301COMMENT
LOWdocs/README.zh-CN.md301COMMENT
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 // We wait briefly so the PID gets surfaced in the result. TheCOMMENT
LOWcli/src/lib/types.ts1// Shared public types for the unity-mcp-cli library API.COMMENT
LOWcli/src/lib/logger.ts1// Minimal logger interface used by shared utility functions that areCOMMENT
LOW.github/workflows/release.yml181 - name: Upload Unity Package as artifactCOMMENT
LOW.github/workflows/release.yml321 # with:COMMENT
LOW.github/workflows/release.yml541 --arg content "$full_message" \COMMENT
LOW.github/workflows/test_pull_request_manual.yml41 with:COMMENT
LOW.github/workflows/test_pull_request_manual.yml61 # unityVersion: "2023.2.22f1"COMMENT
LOW.github/workflows/publish_test_results.yml41 event_file: artifacts/Event File/event.jsonCOMMENT
LOW.github/workflows/test_pull_request.yml81 # uses: ./.github/workflows/test_unity_plugin.ymlCOMMENT
LOW.github/workflows/generate-unity-activation-file.yml1# ┌──────────────────────────────────────────────────────────────────┐COMMENT
LOW…/Assets/com.IvanMurzak/AI Game Dev Installer/README.md301COMMENT
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.cs81 public static string CloudServerUrl => CloudServerBaseUrl + "/mcp";COMMENT
LOW….ivanmurzak.unity.mcp/Runtime/UnityMcpPlugin.Config.cs101 /// <remarks>COMMENT
LOW….ivanmurzak.unity.mcp/Runtime/UnityMcpPlugin.Config.cs121 /// an anonymous Cloud connection; Local/Custom mode ignores it entirely. Static because the machineCOMMENT
LOW….ivanmurzak.unity.mcp/Runtime/UnityMcpPlugin.Config.cs201 // Seed the LOCAL server token directly. `GenerateToken()` produces the local server secret;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…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…com.ivanmurzak.unity.mcp/Runtime/Data/ComponentData.cs21 public List<SerializedMember?>? fields { get; set; }COMMENT
LOW…com.ivanmurzak.unity.mcp/Runtime/Data/ComponentData.cs41 // obj: go,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…urzak.unity.mcp/Tests/Editor/ConnectionManagerTests.cs161 }COMMENT
LOW…ages/com.ivanmurzak.unity.mcp/Tests/Editor/BaseTest.cs161 Debug.Log($"{toolName} Completed (background thread). Result:\n{jsonResult}");COMMENT
LOW…ages/com.ivanmurzak.unity.mcp/Tests/Editor/BaseTest.cs201 }COMMENT
LOW…urzak.unity.mcp/Tests/Editor/McpServerChecksumTests.cs21 /// <c>ZipFile.ExtractToDirectory</c> / <c>Process.Start</c> — so a downloaded server zip is NEVER extractedCOMMENT
LOW…k.unity.mcp/Tests/Editor/McpServerDownloadRaceTests.cs21 /// Regression tests for the first-install server-binary download RACE. On a fresh plugin install two triggersCOMMENT
LOW…nity.mcp/Tests/Editor/ReflectorModuleDiscoveryTests.cs21using Version = com.IvanMurzak.McpPlugin.Common.Version;COMMENT
LOW…unity.mcp/Tests/Editor/McpServerBinaryDownloadTests.cs21 /// Covers the deterministic, editor-free pieces of the fix:COMMENT
LOW…mcp/Tests/Editor/Auth/PinnedMcpPluginInterplayTests.cs21using R3;COMMENT
LOW…/Tests/Editor/Auth/ProjectIdentityGoldenVectorTests.cs21 /// <c>MCP-Plugin-dotnet/McpPlugin/src/AgentConfig/ProjectIdentity.GoldenVectors.json</c> (the routing pin +COMMENT
LOW…Editor/DependencyResolver/NuGetInstallManifestTests.cs281 Assert.IsTrue(manifest.Packages.ContainsKey("Microsoft.Bcl.Memory"));COMMENT
LOW….unity.mcp/Tests/Editor/Environment/TestEnvironment.cs21COMMENT
LOW….unity.mcp/Tests/Editor/Environment/TestEnvironment.cs41 // Assert.IsTrue(task.IsCompletedSuccessfully, "DotNet installation failed");COMMENT
LOW…ditor/Skills/BuildMcpPluginIfNeededProjectRootTests.cs21 /// auto-fire skill-generation path is invoked with a relative <c>SkillsPath</c>.COMMENT
LOW…k.unity.mcp/Tests/Editor/Tool/ToolThreadSafetyTests.cs21namespace com.IvanMurzak.Unity.MCP.Editor.TestsCOMMENT
LOW…sts/Editor/Tool/ToolThreadSafetyTests.pre-Unity.6.5.cs21namespace com.IvanMurzak.Unity.MCP.Editor.TestsCOMMENT
99 more matches not shown…
Hallucination Indicators6 hits · 75 pts
SeverityFileLineSnippetContext
CRITICAL…-MCP-Plugin/.claude/skills/unity-skill-create/SKILL.md3description: 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.cs41 _reflector.JsonSerializer.AddConverter(new com.IvanMurzak.Unity.MCP.JsonConverters.Vector3Converter());CODE
CRITICAL…mcp/Tests/Editor/Tool/RunToolStructuredContentTests.cs42 _reflector.JsonSerializer.AddConverter(new com.IvanMurzak.Unity.MCP.JsonConverters.ColorConverter());CODE
CRITICAL…mcp/Tests/Editor/Tool/RunToolStructuredContentTests.cs43 _reflector.JsonSerializer.AddConverter(new com.IvanMurzak.Unity.MCP.JsonConverters.QuaternionConverter());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
Structural Annotation Overuse19 hits · 36 pts
SeverityFileLineSnippetContext
LOWREADME.md276## Step 1: Install `Unity MCP Plugin`COMMENT
LOWREADME.md329## Step 2: Install `AI agent`COMMENT
LOWREADME.md343## Step 3: Configure `AI agent`COMMENT
LOW…/Assets/com.IvanMurzak/AI Game Dev Installer/README.md276## Step 1: Install `Unity MCP Plugin`COMMENT
LOW…/Assets/com.IvanMurzak/AI Game Dev Installer/README.md329## Step 2: Install `AI agent`COMMENT
LOW…/Assets/com.IvanMurzak/AI Game Dev Installer/README.md343## Step 3: Configure `AI agent`COMMENT
LOW…r/Tool/Assets/AssetsPrefabCreateTests.pre-Unity.6.5.cs141 // Step 1: create a base prefabCOMMENT
LOW…r/Tool/Assets/AssetsPrefabCreateTests.pre-Unity.6.5.cs172 // Step 1: create a base prefabCOMMENT
LOW…r/Tool/Assets/AssetsPrefabCreateTests.pre-Unity.6.5.cs181 // Step 2: create a variant from the asset pathCOMMENT
LOW…r/Tool/Assets/AssetsPrefabCreateTests.pre-Unity.6.5.cs252 // Step 1: create a base prefab (on main thread for setup)COMMENT
LOW…r/Tool/Assets/AssetsPrefabCreateTests.pre-Unity.6.5.cs260 // Step 2: create variant from background threadCOMMENT
LOW…cp/Tests/Editor/Tool/Assets/AssetsPrefabCreateTests.cs141 // Step 1: create a base prefabCOMMENT
LOW…cp/Tests/Editor/Tool/Assets/AssetsPrefabCreateTests.cs172 // Step 1: create a base prefabCOMMENT
LOW…cp/Tests/Editor/Tool/Assets/AssetsPrefabCreateTests.cs181 // Step 2: create a variant from the asset pathCOMMENT
LOW…cp/Tests/Editor/Tool/Assets/AssetsPrefabCreateTests.cs252 // Step 1: create a base prefab (on main thread for setup)COMMENT
LOW…cp/Tests/Editor/Tool/Assets/AssetsPrefabCreateTests.cs260 // Step 2: create variant from background threadCOMMENT
LOW…ests/Editor/Tool/Console/TestToolConsoleIntegration.cs251 // Step 1: Clear logsCOMMENT
LOW…ests/Editor/Tool/Console/TestToolConsoleIntegration.cs254 // Step 2: Perform an action (simulate by generating new logs)COMMENT
LOW…ests/Editor/Tool/Console/TestToolConsoleIntegration.cs265 // Step 3: Get logs - should only contain action logsCOMMENT
Verbosity Indicators13 hits · 27 pts
SeverityFileLineSnippetContext
LOW…r/Tool/Assets/AssetsPrefabCreateTests.pre-Unity.6.5.cs141 // Step 1: create a base prefabCOMMENT
LOW…r/Tool/Assets/AssetsPrefabCreateTests.pre-Unity.6.5.cs172 // Step 1: create a base prefabCOMMENT
LOW…r/Tool/Assets/AssetsPrefabCreateTests.pre-Unity.6.5.cs181 // Step 2: create a variant from the asset pathCOMMENT
LOW…r/Tool/Assets/AssetsPrefabCreateTests.pre-Unity.6.5.cs252 // Step 1: create a base prefab (on main thread for setup)COMMENT
LOW…r/Tool/Assets/AssetsPrefabCreateTests.pre-Unity.6.5.cs260 // Step 2: create variant from background threadCOMMENT
LOW…cp/Tests/Editor/Tool/Assets/AssetsPrefabCreateTests.cs141 // Step 1: create a base prefabCOMMENT
LOW…cp/Tests/Editor/Tool/Assets/AssetsPrefabCreateTests.cs172 // Step 1: create a base prefabCOMMENT
LOW…cp/Tests/Editor/Tool/Assets/AssetsPrefabCreateTests.cs181 // Step 2: create a variant from the asset pathCOMMENT
LOW…cp/Tests/Editor/Tool/Assets/AssetsPrefabCreateTests.cs252 // Step 1: create a base prefab (on main thread for setup)COMMENT
LOW…cp/Tests/Editor/Tool/Assets/AssetsPrefabCreateTests.cs260 // Step 2: create variant from background threadCOMMENT
LOW…ests/Editor/Tool/Console/TestToolConsoleIntegration.cs251 // Step 1: Clear logsCOMMENT
LOW…ests/Editor/Tool/Console/TestToolConsoleIntegration.cs254 // Step 2: Perform an action (simulate by generating new logs)COMMENT
LOW…ests/Editor/Tool/Console/TestToolConsoleIntegration.cs265 // Step 3: Get logs - should only contain action logsCOMMENT
Magic Placeholder Names3 hits · 22 pts
SeverityFileLineSnippetContext
HIGHcommands/tools/validate_mcp_openai.py66 print(f" Content: OPENAI_API_KEY=sk-your-api-key-here")CODE
HIGHcommands/tools/validate_mcp_openai.py68 print(f" Linux/Mac: export OPENAI_API_KEY='sk-your-api-key-here'")CODE
HIGHcommands/tools/validate_mcp_openai.py69 print(f" Windows: set OPENAI_API_KEY=sk-your-api-key-here")CODE
Hyper-Verbose Identifiers18 hits · 18 pts
SeverityFileLineSnippetContext
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.ts54export async function resolveLatestPackageVersion(CODE
LOWcli/src/utils/config.ts89export function getOrCreateConfig(projectPath: string): UnityConnectionConfig {CODE
LOWcli/src/utils/config.ts198export 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.ts78function extractEditorPathFromCommandLine(commandLine: string): string {CODE
LOWcli/src/lib/open.ts509async function pollAndDismissLaunchErrors(opts: PollAndDismissOptions): Promise<void> {CODE
LOWcli/src/commands/login.ts37async function finishPartialAuthorization(store: MachineCredentialStore): Promise<never> {CODE
LOWcommands/tools/validate_mcp_openai.py74def convert_mcp_to_openai_tool(mcp_tool):CODE
Excessive Try-Catch Wrapping7 hits · 9 pts
SeverityFileLineSnippetContext
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
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
Deep Nesting4 hits · 4 pts
SeverityFileLineSnippetContext
LOW.github/scripts/check_nuget_gate.py91CODE
LOWcommands/tools/validate_mcp_openai.py94CODE
LOWcommands/tools/validate_json_schema.py48CODE
LOWcommands/tools/validate_json_schema.py74CODE
Self-Referential Comments1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUM.github/workflows/release.yml505 # Create the release URLCOMMENT
AI Slop Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMcommands/tools/validate_mcp_openai.py180 # Check for missing descriptions or other best practicesCOMMENT
Fake / Example Data2 hits · 2 pts
SeverityFileLineSnippetContext
LOW…mcp/Tests/Editor/Tool/RunToolStructuredContentTests.cs700 public static Person ReturnCustomClass() => new Person { Name = "John Doe", Age = 30 };CODE
LOW…mcp/Tests/Editor/Tool/RunToolStructuredContentTests.cs704 CompanyName = "Acme Corp",CODE
Unused Imports1 hit · 1 pts
SeverityFileLineSnippetContext
LOWcommands/tools/validate_json_schema.py12CODE