AI Slop Code RIsk Monitor

CoplayDev/unity-mcp

Unity MCP acts as a bridge between AI assistants and your Unity Editor. Give your LLM tools to manage assets, control scenes, edit scripts, and automate tasks within Unity.

17.1 Elevated pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for CoplayDev/unity-mcp, a C# project with 14,835 GitHub stars. SynthScan examined 266,498 lines of code across 1218 source files, recording 2891 pattern matches distributed across 22 syntactic categories. The legacy adjusted pattern signal is 17.1 (Elevated 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.

17.1
Adjusted Signal
17.1
Raw Pattern Score
100%
Time Factor
2026-10-08
Last Push
14.8K
Stars
C#
Language
266.5K
Lines of Code
1.2K
Files
2.9K
Pattern Hits
2026-10-12
Scan Date
0.07
HC Hit Rate

Risk Review · v3

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

Cognitive Ownership Risk 27.9/100 · MEDIUM

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

Hallucinated Dependency & Supply Chain Risk 3.5/100 · LOW

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

Agent Over-Engineering Ratio 51.2/100 · HIGH

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

PR Review Velocity Impact 57.8/100 · HIGH

Which changes need focused human review? 2891 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 0HIGH 89MEDIUM 633LOW 2169

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 2891 distinct pattern matches across 22 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 Separators594 hits · 1993 pts
SeverityFileLineSnippetContext
MEDIUM⚡tools/local_harness.py101# ===========================================================================COMMENT
MEDIUM⚡tools/local_harness.py103# ===========================================================================COMMENT
MEDIUM⚡tools/local_harness.py742# ===========================================================================COMMENT
MEDIUM⚡tools/local_harness.py745# ===========================================================================COMMENT
MEDIUMtools/local_harness.py76# ---------------------------------------------------------------------------COMMENT
MEDIUMtools/local_harness.py80# ---------------------------------------------------------------------------COMMENT
MEDIUMtools/local_harness.py166# ===========================================================================COMMENT
MEDIUMtools/local_harness.py168# ===========================================================================COMMENT
MEDIUMtools/local_harness.py221# ===========================================================================COMMENT
MEDIUMtools/local_harness.py223# ===========================================================================COMMENT
MEDIUMtools/local_harness.py423# ===========================================================================COMMENT
MEDIUMtools/local_harness.py425# ===========================================================================COMMENT
MEDIUMtools/local_harness.py485# ===========================================================================COMMENT
MEDIUMtools/local_harness.py487# ===========================================================================COMMENT
MEDIUMtools/local_harness.py539# ===========================================================================COMMENT
MEDIUMtools/local_harness.py541# ===========================================================================COMMENT
MEDIUMtools/local_harness.py594# ===========================================================================COMMENT
MEDIUMtools/local_harness.py596# ===========================================================================COMMENT
MEDIUMtools/local_harness.py664# ===========================================================================COMMENT
MEDIUMtools/local_harness.py666# ===========================================================================COMMENT
MEDIUMtools/local_harness.py976# ===========================================================================COMMENT
MEDIUMtools/local_harness.py978# ===========================================================================COMMENT
MEDIUMtools/generate_docs_reference.py69# ---------------------------------------------------------------------------COMMENT
MEDIUMtools/generate_docs_reference.py71# ---------------------------------------------------------------------------COMMENT
MEDIUMtools/generate_docs_reference.py106# ---------------------------------------------------------------------------COMMENT
MEDIUMtools/generate_docs_reference.py108# ---------------------------------------------------------------------------COMMENT
MEDIUMtools/generate_docs_reference.py225# ---------------------------------------------------------------------------COMMENT
MEDIUMtools/generate_docs_reference.py227# ---------------------------------------------------------------------------COMMENT
MEDIUMtools/generate_docs_reference.py437# ---------------------------------------------------------------------------STRING
MEDIUMtools/generate_docs_reference.py439# ---------------------------------------------------------------------------STRING
MEDIUMtools/generate_docs_reference.py549# ---------------------------------------------------------------------------COMMENT
MEDIUMtools/generate_docs_reference.py551# ---------------------------------------------------------------------------COMMENT
MEDIUMtools/sync_release_notes.py71# ---------------------------------------------------------------------------COMMENT
MEDIUMtools/sync_release_notes.py73# ---------------------------------------------------------------------------COMMENT
MEDIUMtools/sync_release_notes.py147# ---------------------------------------------------------------------------COMMENT
MEDIUMtools/sync_release_notes.py149# ---------------------------------------------------------------------------COMMENT
MEDIUMtools/sync_release_notes.py264# ---------------------------------------------------------------------------COMMENT
MEDIUMtools/sync_release_notes.py266# ---------------------------------------------------------------------------COMMENT
MEDIUM⚡tools/tests/test_local_harness.py341# ===========================================================================COMMENT
MEDIUM⚡tools/tests/test_local_harness.py343# ===========================================================================COMMENT
MEDIUM⚡tools/tests/test_local_harness.py399# ===========================================================================COMMENT
MEDIUM⚡tools/tests/test_local_harness.py401# ===========================================================================COMMENT
MEDIUM⚡tools/tests/test_local_harness.py463# ===========================================================================COMMENT
MEDIUM⚡tools/tests/test_local_harness.py465# ===========================================================================COMMENT
MEDIUM⚡tools/tests/test_local_harness.py547# ===========================================================================COMMENT
MEDIUM⚡tools/tests/test_local_harness.py549# ===========================================================================COMMENT
MEDIUM⚡tools/tests/test_local_harness.py632# ===========================================================================COMMENT
MEDIUM⚡tools/tests/test_local_harness.py634# ===========================================================================COMMENT
MEDIUM⚡tools/tests/test_local_harness.py686# ===========================================================================COMMENT
MEDIUM⚡tools/tests/test_local_harness.py688# ===========================================================================COMMENT
MEDIUM⚡tools/tests/test_local_harness.py700# ===========================================================================COMMENT
MEDIUM⚡tools/tests/test_local_harness.py704# ===========================================================================COMMENT
MEDIUM⚡tools/tests/test_local_harness.py740# ===========================================================================COMMENT
MEDIUM⚡tools/tests/test_local_harness.py744# ===========================================================================COMMENT
MEDIUM⚡tools/tests/test_local_harness.py788# ===========================================================================COMMENT
MEDIUM⚡tools/tests/test_local_harness.py792# ===========================================================================COMMENT
MEDIUMtools/tests/test_local_harness.py57# ===========================================================================COMMENT
MEDIUMtools/tests/test_local_harness.py59# ===========================================================================COMMENT
MEDIUMtools/tests/test_local_harness.py86# ===========================================================================COMMENT
MEDIUMtools/tests/test_local_harness.py88# ===========================================================================COMMENT
534 more matches not shown…
Hyper-Verbose Identifiers1385 hits · 1196 pts
SeverityFileLineSnippetContext
LOWmcp_source.py38def normalize_origin_to_https(url: str) -> str:CODE
LOWtools/local_harness.py269def read_secondary_install_path(platform: str | None = None,CODE
LOWtools/local_harness.py1053def preserve_editor_diagnostics(launcher, handle: Handle, reports_dir: Path, stage: str) -> None:CODE
LOWtools/local_harness.py1499 def record_scene_setup_failure() -> None:CODE
LOWtools/stress_editor_state.py83def make_get_editor_state_frame() -> bytes:CODE
LOW⚡tools/tests/test_local_harness.py99 def test_unknown_platform_defaults_to_linux_layout(self):CODE
LOW⚡tools/tests/test_local_harness.py108 def test_windows_hub_roots_use_program_files(self):CODE
LOW⚡tools/tests/test_local_harness.py115 def test_windows_hub_roots_fallback_when_no_env(self):CODE
LOW⚡tools/tests/test_local_harness.py119 def test_linux_hub_root_under_home(self):CODE
LOW⚡tools/tests/test_local_harness.py127 def test_macos_resolves_hub_layout(self):CODE
LOW⚡tools/tests/test_local_harness.py345 def test_project_version_takes_precedence(self, tmp_path):CODE
LOW⚡tools/tests/test_local_harness.py359 def test_falls_back_to_default_version_when_no_project_file(self, tmp_path):CODE
LOW⚡tools/tests/test_local_harness.py368 def test_returns_none_when_neither_source_present(self, tmp_path):CODE
LOW⚡tools/tests/test_local_harness.py374 def test_project_version_tolerates_bom(self, tmp_path):CODE
LOW⚡tools/tests/test_local_harness.py383 def test_malformed_default_version_json_returns_none(self, tmp_path):CODE
LOW⚡tools/tests/test_local_harness.py390 def test_real_repo_versions_json_default(self):CODE
LOW⚡tools/tests/test_local_harness.py450 def test_precedence_license_over_compile(self):CODE
LOW⚡tools/tests/test_local_harness.py456 def test_compile_when_license_in_grace(self):CODE
LOW⚡tools/tests/test_local_harness.py551 def test_merge_produces_wellformed_testsuites(self):CODE
LOW⚡tools/tests/test_local_harness.py600 def test_merge_empty_suite_list_is_wellformed(self):CODE
LOW⚡tools/tests/test_local_harness.py609 def test_merge_skips_none_suites(self):CODE
LOW⚡tools/tests/test_local_harness.py615 def test_failure_message_attribute_is_capped(self):CODE
LOW⚡tools/tests/test_local_harness.py623 def test_time_attributes_are_formatted(self):CODE
LOW⚡tools/tests/test_local_harness.py665 def test_editor_arg_is_repeatable(self):CODE
LOW⚡tools/tests/test_local_harness.py675 def test_numeric_args_are_typed(self):CODE
LOW⚡tools/tests/test_local_harness.py690 def test_normalizes_and_dedupes(self):CODE
LOW⚡tools/tests/test_local_harness.py696 def test_empty_string_is_empty_list(self):CODE
LOW⚡tools/tests/test_local_harness.py706 def test_console_entries_bare_list_under_data(self):CODE
LOW⚡tools/tests/test_local_harness.py712 def test_console_entries_paging_items_under_data(self):CODE
LOW⚡tools/tests/test_local_harness.py716 def test_console_entries_result_wrapped(self):CODE
LOW⚡tools/tests/test_local_harness.py720 def test_compile_probe_detects_cs_error(self):CODE
LOW⚡tools/tests/test_local_harness.py728 def test_compile_probe_clean_project(self):CODE
LOW⚡tools/tests/test_local_harness.py733 def test_compile_probe_inconclusive_does_not_block(self):CODE
LOW⚡tools/tests/test_local_harness.py746 def test_retries_on_tests_running_then_succeeds(self, monkeypatch):CODE
LOW⚡tools/tests/test_local_harness.py774 def test_hard_start_failure_returns_immediately(self):CODE
LOW⚡tools/tests/test_local_harness.py780 def test_success_returns_job_id(self):CODE
LOW⚡tools/tests/test_local_harness.py794 def test_poll_tolerates_timeout_then_returns_terminal(self, monkeypatch):CODE
LOW⚡tools/tests/test_local_harness.py957 def test_no_passing_test_cannot_report_success(self, rows, passed, skipped):CODE
LOW⚡tools/tests/test_local_harness.py964 def test_unrecognized_or_inconclusive_leaf_is_not_counted_as_a_pass(self, state):CODE
LOW⚡tools/tests/test_local_harness.py970 def test_row_buckets_must_match_summary(self):CODE
LOW⚡tools/tests/test_local_harness.py976 def test_initialization_failure_without_results_retains_progress_errors(self):CODE
LOW⚡tools/tests/test_local_harness.py983 def test_poll_requests_complete_terminal_details(self):CODE
LOWtools/tests/test_local_harness.py144 def test_windows_resolves_hub_layout(self):CODE
LOWtools/tests/test_local_harness.py161 def test_linux_resolves_hub_layout(self):CODE
LOWtools/tests/test_local_harness.py177 def test_explicit_editor_takes_precedence(self):CODE
LOWtools/tests/test_local_harness.py195 def test_unity_editor_env_override(self):CODE
LOWtools/tests/test_local_harness.py210 def test_not_found_raises_with_searched_paths(self):CODE
LOWtools/tests/test_local_harness.py229 def test_nearest_patch_fallback_same_major_minor(self):CODE
LOWtools/tests/test_local_harness.py259 def test_nearest_patch_never_crosses_major_minor(self):CODE
LOWtools/tests/test_local_harness.py283 def test_default_platform_darwin(self, monkeypatch):CODE
LOWtools/tests/test_local_harness.py299 def test_default_platform_linux(self, monkeypatch):CODE
LOWtools/tests/test_local_harness.py319 def test_secondary_root_used_for_candidate(self):CODE
LOWtools/tests/test_local_harness.py423 def test_license_suppressed_during_grace(self):CODE
LOWtools/tests/test_local_harness.py439 def test_clean_ready_log_is_ok(self):CODE
LOWtools/tests/test_local_harness.py500 def test_playmode_nonblocking_fail_does_not_raise_code(self):CODE
LOWtools/tests/test_local_harness.py511 def test_playmode_nonblocking_fail_alone_is_zero(self):CODE
LOWtools/tests/test_local_harness.py650 def test_legs_and_project_override(self):CODE
LOWtools/tests/test_local_harness.py761 def test_exhausts_after_persistent_tests_running(self, monkeypatch):CODE
LOWtools/tests/test_local_harness.py809 def test_poll_wedges_after_deadline_without_crashing(self, monkeypatch):CODE
LOWtools/tests/test_local_harness.py818 def test_start_tolerates_transport_exception_then_succeeds(self, monkeypatch):CODE
1325 more matches not shown…
Empty Error Handlers66 hits · 330 pts
SeverityFileLineSnippetContext
HIGHtools/local_harness.py1173except Exception:CODE
HIGHtools/local_harness.py865except OSError:CODE
HIGHtools/local_harness.py1532except (ValueError, OSError):CODE
HIGHtools/local_harness.py1512except Exception:CODE
HIGHtools/local_harness.py1522except OSError:CODE
HIGHtools/local_harness.py863except OSError:CODE
HIGHtools/local_harness.py1519except OSError:CODE
HIGHtools/ci_unity_license.py33except ValueError:CODE
HIGHtools/stress_mcp.py349except KeyboardInterrupt:CODE
HIGHtools/stress_mcp.py48except Exception:CODE
HIGHtools/stress_mcp.py308except Exception:CODE
HIGHtools/stress_mcp.py134except Exception:CODE
HIGHtools/stress_mcp.py291except Exception:CODE
HIGHtools/stress_mcp.py227except Exception:CODE
HIGHtools/stress_mcp.py302except Exception:CODE
HIGHtools/sync_release_notes.py119except ImportError:CODE
HIGHtools/stress_editor_state.py185except KeyboardInterrupt:CODE
HIGHtools/stress_editor_state.py47except Exception:CODE
HIGHtools/stress_editor_state.py151except Exception:CODE
HIGHtools/stress_editor_state.py138except Exception:CODE
HIGHServer/tests/integration/test_connection_deadline.py70except OSError:CODE
HIGHServer/tests/integration/test_connection_deadline.py41except OSError:CODE
HIGHServer/tests/integration/test_connection_deadline.py75except OSError:CODE
HIGHServer/tests/integration/test_transport_framing.py150except (ConnectionResetError, ConnectionAbortedError):CODE
HIGHServer/tests/integration/test_transport_framing.py66except Exception:CODE
HIGHServer/tests/integration/test_transport_framing.py61except Exception:CODE
HIGHServer/tests/integration/test_transport_framing.py187except Exception:CODE
HIGHServer/src/main.py61except Exception:CODE
HIGHServer/src/main.py135except Exception:CODE
HIGHServer/src/main.py125except Exception:CODE
HIGHServer/src/main.py75except PermissionError:CODE
HIGHServer/src/transport/plugin_hub.py324except Exception:CODE
HIGHServer/src/transport/plugin_hub.py745except Exception:CODE
HIGHServer/src/transport/legacy/port_discovery.py268except Exception:CODE
HIGHServer/src/transport/legacy/unity_connection.py150except BlockingIOError:CODE
HIGHServer/src/transport/legacy/unity_connection.py657except ValueError:CODE
HIGHServer/src/transport/legacy/unity_connection.py156except Exception:CODE
HIGHServer/src/transport/legacy/unity_connection.py117except Exception:CODE
HIGHServer/src/transport/legacy/unity_connection.py487except Exception:CODE
HIGHServer/src/core/config.py24except (TypeError, ValueError):CODE
HIGHServer/src/core/telemetry.py164except Exception:CODE
HIGHServer/src/core/telemetry.py180except Exception:CODE
HIGHServer/src/cli/commands/code.py220except (ValueError, TypeError):CODE
HIGHServer/src/cli/commands/editor.py527except UnityConnectionError:CODE
HIGHServer/src/services/tools/refresh_unity.py263except Exception:CODE
HIGHServer/src/services/tools/refresh_unity.py57except Exception:CODE
HIGHServer/src/services/tools/__init__.py283except Exception: # pragma: no cover - defensiveCODE
HIGHServer/src/services/tools/read_console.py152except Exception:CODE
HIGHServer/src/services/tools/script_apply_edits.py963except Exception:CODE
HIGHServer/src/services/tools/utils.py397except (ValueError, TypeError):CODE
HIGHServer/src/services/tools/manage_script.py297except Exception:CODE
HIGHServer/src/services/tools/manage_script.py269except Exception:CODE
HIGHServer/src/services/tools/manage_script.py377except Exception:CODE
HIGHServer/src/services/tools/manage_script.py211except Exception:CODE
HIGHServer/src/services/tools/manage_script.py167except Exception:CODE
HIGHServer/src/services/tools/manage_script.py233except Exception:CODE
HIGHServer/src/services/tools/manage_script.py372except Exception:CODE
HIGHServer/src/services/tools/manage_script.py177except Exception:CODE
HIGHServer/src/services/tools/manage_script.py242except Exception:CODE
HIGHServer/src/services/tools/unity_docs.py562except ImportError:CODE
6 more matches not shown…
Excessive Try-Catch Wrapping225 hits · 223 pts
SeverityFileLineSnippetContext
LOWmcp_source.py57 except Exception:CODE
LOW⚡mcp_source.py132 except Exception as e:CODE
MEDIUM⚡mcp_source.py133 print(f"Error: {e}", file=sys.stderr)CODE
LOW⚡mcp_source.py140 except Exception as e:CODE
MEDIUM⚡mcp_source.py141 print(f"Error: {e}", file=sys.stderr)CODE
LOWunity-mcp-skill/references/workflows.md2069except Exception as e:CODE
LOWtools/generate_mcpb.py141 except Exception as e:CODE
MEDIUMtools/generate_mcpb.py142 print(f"Error: {e}", file=sys.stderr)CODE
LOWtools/local_harness.py1110 except Exception:CODE
LOWtools/local_harness.py1173 except Exception:CODE
LOWtools/local_harness.py1191 except Exception:CODE
LOWtools/local_harness.py1227 except Exception:CODE
LOWtools/local_harness.py1350 except Exception:CODE
LOWtools/local_harness.py1512 except Exception:CODE
LOWtools/generate_docs_reference.py205 except Exception:CODE
LOWtools/generate_docs_reference.py462 except Exception:CODE
LOW⚡tools/stress_mcp.py291 except Exception:CODE
LOW⚡tools/stress_mcp.py294 except Exception:CODE
LOW⚡tools/stress_mcp.py302 except Exception:CODE
LOW⚡tools/stress_mcp.py308 except Exception:CODE
LOWtools/stress_mcp.py48 except Exception:CODE
LOWtools/stress_mcp.py124 except Exception:CODE
LOWtools/stress_mcp.py134 except Exception:CODE
LOWtools/stress_mcp.py149 except Exception:CODE
LOWtools/stress_mcp.py182 except Exception:CODE
LOWtools/stress_mcp.py219 except Exception:CODE
LOWtools/stress_mcp.py227 except Exception:CODE
LOWtools/stress_editor_state.py47 except Exception:CODE
LOWtools/stress_editor_state.py124 except Exception:CODE
LOWtools/stress_editor_state.py138 except Exception:CODE
LOWtools/stress_editor_state.py151 except Exception:CODE
LOWtools/update_versions.py333 except Exception as e:CODE
MEDIUMtools/update_versions.py334 print(f"Error: {e}", file=sys.stderr)CODE
LOWMCPForUnity/Editor/Tools/Blender/BlenderBridgeTool.cs360except Exception:CODE
LOW.claude/skills/unity-mcp-skill/references/workflows.md2069except Exception as e:CODE
LOWServer/tests/conftest.py25 except Exception as exc:CODE
LOW⚡Server/tests/integration/test_transport_framing.py61 except Exception:CODE
LOW⚡Server/tests/integration/test_transport_framing.py66 except Exception:CODE
LOWServer/tests/integration/test_transport_framing.py98 except Exception:CODE
LOWServer/tests/integration/test_transport_framing.py187 except Exception:CODE
LOWServer/tests/e2e/bridge_smoke.py184 except Exception as exc: # connection refused, timeout, etc.CODE
MEDIUMServer/src/main.py180def _emit_startup():CODE
LOW⚡Server/src/main.py113 except Exception as exc:CODE
LOW⚡Server/src/main.py116except Exception as exc:CODE
LOW⚡Server/src/main.py125 except Exception:CODE
LOW⚡Server/src/main.py135except Exception:CODE
LOWServer/src/main.py61except Exception:CODE
LOWServer/src/main.py187 except Exception:CODE
LOWServer/src/main.py233 except Exception as sync_exc:CODE
LOWServer/src/main.py246 except Exception as e:CODE
LOWServer/src/main.py265 except Exception as e:CODE
LOWServer/src/main.py530 except Exception as e:CODE
LOWServer/src/main.py549 except Exception as e:CODE
LOWServer/src/main.py611 except Exception as e:CODE
LOWServer/src/main.py882 except Exception as exc:STRING
LOWServer/src/main.py916 except Exception:STRING
LOWServer/src/transport/unity_transport.py37 except Exception as e:CODE
LOWServer/src/transport/unity_transport.py101 except Exception as exc:CODE
LOW⚡Server/src/transport/plugin_hub.py728 except Exception as close_ex:CODE
LOW⚡Server/src/transport/plugin_hub.py737 except Exception as send_ex:CODE
165 more matches not shown…
Unused Imports169 hits · 149 pts
SeverityFileLineSnippetContext
LOWmcp_source.py16CODE
LOWtools/generate_mcpb.py15CODE
LOWtools/local_harness.py55CODE
LOWtools/ci_unity_license.py8CODE
LOWtools/generate_docs_reference.py30CODE
LOWtools/check_unity_test_results.py2CODE
LOWtools/prepare_unity_asset_store_release.py10CODE
LOWtools/sync_release_notes.py20CODE
LOWtools/stress_editor_state.py24CODE
LOWtools/tests/test_local_harness.py27CODE
LOWtools/tests/test_build_release_characterization.py57CODE
LOWtools/tests/test_build_release_characterization.py61CODE
LOWtools/tests/test_build_release_characterization.py65CODE
LOWtools/tests/test_build_release_characterization.py65CODE
LOWtools/tests/test_build_release_characterization.py65CODE
LOWtools/tests/test_build_release_characterization.py66CODE
LOWtools/tests/test_build_release_characterization.py66CODE
LOWServer/tests/test_manage_profiler.py1CODE
LOWServer/tests/test_manage_vfx_actions.py1CODE
LOWServer/tests/test_unity_reflect.py1CODE
LOWServer/tests/test_unity_reflect.py10CODE
LOWServer/tests/test_manage_animation.py4CODE
LOWServer/tests/test_manage_probuilder.py1CODE
LOWServer/tests/test_param_normalizer.py6CODE
LOWServer/tests/test_log_paths.py3CODE
LOWServer/tests/test_unity_docs.py1CODE
LOWServer/tests/test_cli_commands_characterization.py26CODE
LOWServer/tests/test_cli_commands_characterization.py28CODE
LOWServer/tests/test_cli_commands_characterization.py28CODE
LOWServer/tests/test_manage_editor.py3CODE
LOWServer/tests/test_manage_editor.py10CODE
LOWServer/tests/test_manage_editor.py11CODE
LOWServer/tests/test_transport_characterization.py18CODE
LOWServer/tests/test_transport_characterization.py18CODE
LOWServer/tests/test_transport_characterization.py19CODE
LOWServer/tests/test_transport_characterization.py19CODE
LOWServer/tests/test_transport_characterization.py20CODE
LOWServer/tests/test_transport_characterization.py24CODE
LOWServer/tests/test_models_characterization.py30CODE
LOWServer/tests/test_models_characterization.py30CODE
LOWServer/tests/test_manage_camera.py1CODE
LOWServer/tests/test_manage_graphics.py1CODE
LOWServer/tests/test_cli.py11CODE
LOWServer/tests/test_focus_nudge.py13CODE
LOW…ver/tests/test_core_infrastructure_characterization.py21CODE
LOW…ver/tests/test_core_infrastructure_characterization.py28CODE
LOW…ver/tests/test_core_infrastructure_characterization.py28CODE
LOW…ver/tests/test_core_infrastructure_characterization.py48CODE
LOW…tests/integration/test_multi_user_session_isolation.py8CODE
LOWServer/tests/integration/test_manage_ui.py6CODE
LOWServer/tests/integration/test_api_key_service.py10CODE
LOWServer/tests/integration/test_connection_deadline.py2CODE
LOW…er/tests/integration/test_plugin_hub_websocket_auth.py5CODE
LOW…er/tests/integration/test_plugin_hub_websocket_auth.py5CODE
LOWServer/tests/integration/test_telemetry_subaction.py7CODE
LOW…/tests/integration/test_middleware_auth_integration.py5CODE
LOWServer/tests/integration/test_transport_framing.py2CODE
LOWServer/tests/integration/test_manage_texture.py3CODE
LOW…r/tests/integration/test_refresh_unity_registration.py9CODE
LOW…ver/tests/integration/test_external_changes_scanner.py3CODE
109 more matches not shown…
Over-Commented Block127 hits · 126 pts
SeverityFileLineSnippetContext
LOWunity-mcp-skill/references/resources-reference.md641# Then read specific components as neededCOMMENT
LOWunity-mcp-skill/references/tools-reference.md321 component_type="GameManagerScript",COMMENT
LOWtools/pypi_publish.sh1#!/usr/bin/env bashCOMMENT
LOWtools/docker_publish.sh1# Publish a Docker image (manual).COMMENT
LOWtools/check-unity-versions.sh1#!/usr/bin/env bashCOMMENT
LOWtools/compile-check.sh1#!/usr/bin/env bashCOMMENT
LOWtools/compile-check.sh21# .../com.unity.ext.nunit@*/net35/unity-custom/. Takes ~1 min per Unity version.COMMENT
LOWMCPForUnity/Runtime/Helpers/UnityPhysicsCompat.cs1using System;COMMENT
LOWMCPForUnity/Runtime/Helpers/UnityObjectIdCompat.cs1using UnityEngine;COMMENT
LOWMCPForUnity/Runtime/Helpers/UnityObjectIdCompat.cs21#if UNITY_6000_6_OR_NEWERCOMMENT
LOWMCPForUnity/Runtime/Helpers/UnityObjectIdCompat.cs61 /// Pre-6.0 : EditorUtility.InstanceIDToObject(int)COMMENT
LOWMCPForUnity/Runtime/Helpers/UnityFindObjectsCompat.cs1using System;COMMENT
LOWMCPForUnity/Runtime/Helpers/UnityCompatShims.cs1namespace MCPForUnity.Runtime.HelpersCOMMENT
LOWMCPForUnity/Runtime/Helpers/UnityCompatShims.cs21 /// 3. A future Unity version has announced rename or removal.COMMENT
LOWMCPForUnity/Runtime/Helpers/UnityAssembliesCompat.cs1using System;COMMENT
LOWMCPForUnity/Editor/Clients/IMcpClientConfigurator.cs21 /// The transport type the client is currently configured for.COMMENT
LOWMCPForUnity/Editor/Clients/IMcpClientConfigurator.cs41COMMENT
LOW…orUnity/Editor/Clients/Configurators/PiConfigurator.cs1using System;COMMENT
LOW…orUnity/Editor/Clients/Configurators/PiConfigurator.cs41 /// <c>ParentDirectoryExists(GetConfigPath())</c>.COMMENT
LOWMCPForUnity/Editor/Tools/CommandRegistry.cs61 {COMMENT
LOWMCPForUnity/Editor/Tools/ManageScriptableObject.cs1081 /// COMMENT
LOWMCPForUnity/Editor/Tools/ManageScriptableObject.cs1181COMMENT
LOWMCPForUnity/Editor/Tools/RefreshUnity.cs81 // If the caller asked for "all" and we skipped refresh above (e.g., scripts-only path),COMMENT
LOWMCPForUnity/Editor/Tools/RefreshUnity.cs101 // Unlike WaitForUnityReadyAsync this cannot span a domain reload: itCOMMENT
LOWMCPForUnity/Editor/Tools/RefreshUnity.cs161 compile_requested = compileRequested,COMMENT
LOWMCPForUnity/Editor/Tools/RefreshUnity.cs181 /// </list>COMMENT
LOWMCPForUnity/Editor/Tools/RefreshUnity.cs201 {COMMENT
LOWMCPForUnity/Editor/Tools/McpForUnityToolAttribute.cs21 /// <summary>COMMENT
LOWMCPForUnity/Editor/Tools/McpForUnityToolAttribute.cs41COMMENT
LOWMCPForUnity/Editor/Tools/ManageUI.cs1821 }COMMENT
LOWMCPForUnity/Editor/Tools/ManageScript.cs21#endifCOMMENT
LOWMCPForUnity/Editor/Tools/ManageScript.cs41 /// - Place in Assets/Plugins/ folderCOMMENT
LOWMCPForUnity/Editor/Tools/ManageScript.cs2861 //TODO: A easier way for users to update incorrect scripts (now duplicated with the updateScript method and needCOMMENT
LOWMCPForUnity/Editor/Tools/ManageScript.cs2881 // case "standard": level = ValidationLevel.Standard; break;COMMENT
LOWMCPForUnity/Editor/Tools/ManageScript.cs2901 // warnings = warnings,COMMENT
LOWMCPForUnity/Editor/Tools/ManageScene.cs1641 /// understand, so it must not be re-rooted under Assets/.COMMENT
LOWMCPForUnity/Editor/Tools/ProBuilder/ManageProBuilder.cs21 /// - create_poly_shape: Create from 2D polygon footprint (points, extrudeHeight, flipNormals)COMMENT
LOWMCPForUnity/Editor/Tools/ProBuilder/ManageProBuilder.cs41 /// - weld_vertices: Weld vertices within proximity radius (vertexIndices, radius)COMMENT
LOWMCPForUnity/Editor/Tools/ProBuilder/ManageProBuilder.cs141 /// bypassing the shader's own Emission block (which is correctly wired to black).COMMENT
LOWMCPForUnity/Editor/Tools/Animation/AnimatorResolver.cs1using System.Linq;COMMENT
LOWMCPForUnity/Editor/Tools/Vfx/ManageVFX.cs21 ///COMMENT
LOWMCPForUnity/Editor/Tools/Vfx/ManageVFX.cs41 /// - Materials are cached to avoid recreationCOMMENT
LOWMCPForUnity/Editor/Tools/Vfx/ManageVFX.cs61 /// - particle_clear_bursts: Clear all burstsCOMMENT
LOWMCPForUnity/Editor/Tools/Vfx/ManageVFX.cs81 /// - vfx_set_seed: Set random seed (seed, resetSeedOnPlay)COMMENT
LOWMCPForUnity/Editor/Tools/Vfx/ManageVFX.cs101 /// - trail_set_time: Set trail duration (time)COMMENT
LOW…nity/Editor/Security/SecureKeyStore/ISecureKeyStore.cs1namespace MCPForUnity.Editor.SecurityCOMMENT
LOW…Unity/Editor/Resources/McpForUnityResourceAttribute.cs1using System;COMMENT
LOW…ty/Editor/Dependencies/Models/DependencyCheckResult.cs21 public bool IsSystemReady { get; set; }COMMENT
LOW…orUnity/Editor/Dependencies/Models/DependencyStatus.cs21 /// <summary>COMMENT
LOW…or/Dependencies/PlatformDetectors/IPlatformDetector.cs21 /// Detect Python installation on this platformCOMMENT
LOW…rUnity/Editor/Windows/Components/Branding/OceanMark.cs1using UnityEngine;COMMENT
LOW…rUnity/Editor/Helpers/EditorWindowScreenshotUtility.cs21 private const int RepaintSettlingDelayMs = 75;COMMENT
LOWMCPForUnity/Editor/Helpers/GameObjectLookup.cs81 return ResolveInstanceID(instanceId) as GameObject;COMMENT
LOWMCPForUnity/Editor/Helpers/ScreenshotPreferences.cs1using MCPForUnity.Runtime.Helpers;COMMENT
LOWMCPForUnity/Editor/Helpers/AssetPathUtility.cs321 /// Builds the uvx package source arguments for the MCP server.COMMENT
LOWMCPForUnity/Editor/Helpers/Pagination.cs81 /// <summary>COMMENT
LOWMCPForUnity/Editor/Helpers/VectorParsing.cs281 /// <summary>COMMENT
LOWMCPForUnity/Editor/Helpers/VectorParsing.cs401 /// COMMENT
LOWMCPForUnity/Editor/Helpers/VectorParsing.cs461COMMENT
LOWMCPForUnity/Editor/Helpers/UnityTypeResolver.cs181 var candidates = fromPlayer.ToList();COMMENT
67 more matches not shown…
Structural Annotation Overuse66 hits · 108 pts
SeverityFileLineSnippetContext
LOWunity-mcp-skill/references/workflows.md67# Step 0: Create fresh empty scene (replaces current scene entirely)COMMENT
LOWunity-mcp-skill/references/workflows.md609### Step 0: Detect Project UI CapabilitiesCOMMENT
LOWunity-mcp-skill/references/workflows.md982# Step 1: Create hierarchyCOMMENT
LOWunity-mcp-skill/references/workflows.md1063# Step 2: Wire Slider references (CRITICAL — slider won't work without this)COMMENT
LOWunity-mcp-skill/references/workflows.md1081# Step 1: Create hierarchyCOMMENT
LOWunity-mcp-skill/references/workflows.md1144# Step 2: Wire TMP_InputField references (CRITICAL)COMMENT
LOW⚡unity-mcp-skill/references/workflows.md1918# Step 1: Search for the type you needCOMMENT
LOW⚡unity-mcp-skill/references/workflows.md1922# Step 2: Get member summary for the typeCOMMENT
LOW⚡unity-mcp-skill/references/workflows.md1926# Step 3: Get full signature for specific members you plan to useCOMMENT
LOW⚡unity-mcp-skill/references/workflows.md1930# Step 4: Get official docs for usage patterns and examplesCOMMENT
LOWunity-mcp-skill/references/probuilder-guide.md14# Step 1: Get face info with directionsCOMMENT
LOWunity-mcp-skill/references/probuilder-guide.md24# Step 2: Use the direction labels to pick facesCOMMENT
LOW⚡tools/tests/test_build_release_characterization.py1611 # Step 1: Dry-runSTRING
LOW⚡tools/tests/test_build_release_characterization.py1614 # Step 2: Real updateSTRING
LOW⚡tools/tests/test_build_release_characterization.py1625 # Step 3: ValidateSTRING
LOW⚡tools/tests/test_build_release_characterization.py1629 # Step 4: Would create git commit with message:STRING
LOW⚡tools/tests/test_build_release_characterization.py1632 # Step 5: Would create git tag:STRING
LOW⚡MCPForUnity/Editor/Tools/ManageEditor.cs29 // Step 1: Null parameter guard (consistent across all tools)COMMENT
LOW⚡MCPForUnity/Editor/Tools/ManageEditor.cs35 // Step 2: Wrap parametersCOMMENT
LOW⚡MCPForUnity/Editor/Tools/ManageEditor.cs38 // Step 3: Extract and validate required parametersCOMMENT
LOWMCPForUnity/Editor/Tools/ManageScript.cs2647 // Step 1: Build a code-only view (comments/strings replaced with spaces)COMMENT
LOWMCPForUnity/Editor/Tools/ManageScript.cs2664 // Step 2: Build containing type name at each position via single passCOMMENT
LOWMCPForUnity/Editor/Tools/ManageScript.cs2739 // Step 3: Match method signatures on code-only text (includes => for expression-bodied)COMMENT
LOWMCPForUnity/Editor/Services/Server/ProcessDetector.cs181 // Step 1: Check if process name matches known server executablesCOMMENT
LOWMCPForUnity/Editor/Services/Server/ProcessDetector.cs192 // Step 2: Try to get command line with wmic for better validationCOMMENT
LOWwebsite/docs/guides/custom-tools.md13## Step 1: Create Your Tool HandlerCOMMENT
LOWwebsite/docs/guides/custom-tools.md68## Step 2: Refresh Your MCP ClientCOMMENT
LOWwebsite/docs/guides/custom-tools.md76## Step 3: List and Call Your Tool from the CLICOMMENT
LOW.claude/skills/unity-mcp-skill/references/workflows.md67# Step 0: Create fresh empty scene (replaces current scene entirely)COMMENT
LOW.claude/skills/unity-mcp-skill/references/workflows.md609### Step 0: Detect Project UI CapabilitiesCOMMENT
LOW.claude/skills/unity-mcp-skill/references/workflows.md982# Step 1: Create hierarchyCOMMENT
LOW.claude/skills/unity-mcp-skill/references/workflows.md1063# Step 2: Wire Slider references (CRITICAL — slider won't work without this)COMMENT
LOW.claude/skills/unity-mcp-skill/references/workflows.md1081# Step 1: Create hierarchyCOMMENT
LOW.claude/skills/unity-mcp-skill/references/workflows.md1144# Step 2: Wire TMP_InputField references (CRITICAL)COMMENT
LOW⚡.claude/skills/unity-mcp-skill/references/workflows.md1918# Step 1: Search for the type you needCOMMENT
LOW⚡.claude/skills/unity-mcp-skill/references/workflows.md1922# Step 2: Get member summary for the typeCOMMENT
LOW⚡.claude/skills/unity-mcp-skill/references/workflows.md1926# Step 3: Get full signature for specific members you plan to useCOMMENT
LOW⚡.claude/skills/unity-mcp-skill/references/workflows.md1930# Step 4: Get official docs for usage patterns and examplesCOMMENT
LOW…/skills/unity-mcp-skill/references/probuilder-guide.md14# Step 1: Get face info with directionsCOMMENT
LOW…/skills/unity-mcp-skill/references/probuilder-guide.md24# Step 2: Use the direction labels to pick facesCOMMENT
LOW⚡Server/src/cli/commands/ui.py38 # Step 1: Create empty GameObjectCOMMENT
LOW⚡Server/src/cli/commands/ui.py48 # Step 2: Add Canvas componentsCOMMENT
LOW⚡Server/src/cli/commands/ui.py119 # Step 2: Add RectTransform and TextMeshProUGUICOMMENT
LOW⚡Server/src/cli/commands/ui.py126 # Step 3: Set text contentCOMMENT
LOW⚡Server/src/cli/commands/ui.py172 # Step 2: Add Button and Image componentsCOMMENT
LOW⚡Server/src/cli/commands/ui.py180 # Step 3: Create child label GameObjectCOMMENT
LOW⚡Server/src/cli/commands/ui.py188 # Step 4: Add TextMeshProUGUI to label and set textCOMMENT
LOW⚡Server/src/cli/commands/ui.py240 # Step 2: Add Image componentCOMMENT
LOW⚡Server/src/cli/commands/ui.py247 # Step 3: Set sprite if providedCOMMENT
LOWServer/src/cli/commands/ui.py63 # Step 3: Set render modeCOMMENT
LOWServer/src/cli/commands/ui.py107 # Step 1: Create empty GameObject with parentCOMMENT
LOWServer/src/cli/commands/ui.py161 # Step 1: Create empty GameObject with parentCOMMENT
LOWServer/src/cli/commands/ui.py229 # Step 1: Create empty GameObject with parentCOMMENT
LOWServer/src/cli/commands/code.py195 # Step 1: Read the file via Unity's manage_scriptCOMMENT
LOWServer/src/cli/commands/code.py227 # Step 2: Perform regex search locallyCOMMENT
LOWServer/src/cli/commands/lighting.py58 # Step 1: Create empty GameObject with positionCOMMENT
LOWServer/src/cli/commands/lighting.py69 # Step 2: Add Light component using manage_componentsCOMMENT
LOWServer/src/cli/commands/lighting.py80 # Step 3: Set light type using manage_components set_propertyCOMMENT
LOWServer/src/cli/commands/lighting.py93 # Step 4: Set color if providedCOMMENT
LOWServer/src/cli/commands/lighting.py107 # Step 5: Set intensity if providedCOMMENT
6 more matches not shown…
Deep Nesting101 hits · 83 pts
SeverityFileLineSnippetContext
LOWtools/local_harness.py1248CODE
LOWtools/local_harness.py1436CODE
LOWtools/local_harness.py839CODE
LOWtools/local_harness.py1507CODE
LOWtools/generate_docs_reference.py580CODE
LOWtools/stress_mcp.py31CODE
LOWtools/stress_mcp.py96CODE
LOWtools/stress_mcp.py138CODE
LOWtools/stress_editor_state.py88CODE
LOWServer/tests/test_resource_uri_references.py88CODE
LOWServer/tests/test_resource_uri_references.py117CODE
LOWServer/tests/test_transport_characterization.py270CODE
LOWServer/tests/test_transport_characterization.py323CODE
LOWServer/tests/test_transport_characterization.py377CODE
LOWServer/tests/test_transport_characterization.py433CODE
LOWServer/tests/test_transport_characterization.py477CODE
LOWServer/tests/test_transport_characterization.py517CODE
LOWServer/tests/test_transport_characterization.py556CODE
LOWServer/tests/test_transport_characterization.py601CODE
LOWServer/tests/test_transport_characterization.py640CODE
LOWServer/tests/integration/test_transport_framing.py28CODE
LOWServer/tests/integration/test_transport_framing.py76CODE
LOWServer/tests/integration/test_transport_framing.py36CODE
LOWServer/tests/integration/test_transport_framing.py84CODE
LOWServer/tests/integration/test_logging_stdout.py21CODE
LOWServer/src/main.py150CODE
LOWServer/src/main.py376CODE
LOWServer/src/main.py656CODE
LOWServer/src/main.py415CODE
LOWServer/src/main.py553CODE
LOWServer/src/transport/plugin_registry.py115CODE
LOWServer/src/transport/plugin_hub.py224CODE
LOWServer/src/transport/plugin_hub.py287CODE
LOWServer/src/transport/plugin_hub.py435CODE
LOWServer/src/transport/plugin_hub.py696CODE
LOWServer/src/transport/plugin_hub.py997CODE
LOWServer/src/transport/blender_timeout.py13CODE
LOWServer/src/transport/unity_instance_middleware.py97CODE
LOWServer/src/transport/unity_instance_middleware.py215CODE
LOWServer/src/transport/unity_instance_middleware.py324CODE
LOWServer/src/transport/legacy/port_discovery.py64CODE
LOWServer/src/transport/legacy/port_discovery.py134CODE
LOWServer/src/transport/legacy/port_discovery.py226CODE
LOWServer/src/transport/legacy/unity_connection.py947CODE
LOWServer/src/transport/legacy/unity_connection.py53CODE
LOWServer/src/transport/legacy/unity_connection.py173CODE
LOWServer/src/transport/legacy/unity_connection.py276CODE
LOWServer/src/transport/legacy/unity_connection.py299CODE
LOWServer/src/core/telemetry_decorator.py17CODE
LOWServer/src/core/telemetry_decorator.py19CODE
LOWServer/src/core/telemetry_decorator.py21CODE
LOWServer/src/core/telemetry_decorator.py64CODE
LOWServer/src/core/telemetry.py259CODE
LOWServer/src/core/telemetry.py373CODE
LOWServer/src/utils/focus_nudge.py145CODE
LOWServer/src/utils/focus_nudge.py187CODE
LOWServer/src/utils/focus_nudge.py253CODE
LOWServer/src/utils/focus_nudge.py411CODE
LOWServer/src/utils/focus_nudge.py494CODE
LOWServer/src/utils/focus_nudge.py633CODE
41 more matches not shown…
Verbosity Indicators36 hits · 55 pts
SeverityFileLineSnippetContext
LOW⚡tools/tests/test_build_release_characterization.py1611 # Step 1: Dry-runSTRING
LOW⚡tools/tests/test_build_release_characterization.py1614 # Step 2: Real updateSTRING
LOW⚡tools/tests/test_build_release_characterization.py1625 # Step 3: ValidateSTRING
LOW⚡tools/tests/test_build_release_characterization.py1629 # Step 4: Would create git commit with message:STRING
LOW⚡tools/tests/test_build_release_characterization.py1632 # Step 5: Would create git tag:STRING
LOW⚡MCPForUnity/Editor/Tools/ManageEditor.cs29 // Step 1: Null parameter guard (consistent across all tools)COMMENT
LOW⚡MCPForUnity/Editor/Tools/ManageEditor.cs35 // Step 2: Wrap parametersCOMMENT
LOW⚡MCPForUnity/Editor/Tools/ManageEditor.cs38 // Step 3: Extract and validate required parametersCOMMENT
LOWMCPForUnity/Editor/Tools/ManageScript.cs2647 // Step 1: Build a code-only view (comments/strings replaced with spaces)COMMENT
LOWMCPForUnity/Editor/Tools/ManageScript.cs2664 // Step 2: Build containing type name at each position via single passCOMMENT
LOWMCPForUnity/Editor/Tools/ManageScript.cs2739 // Step 3: Match method signatures on code-only text (includes => for expression-bodied)COMMENT
LOWMCPForUnity/Editor/Services/Server/ProcessDetector.cs181 // Step 1: Check if process name matches known server executablesCOMMENT
LOWMCPForUnity/Editor/Services/Server/ProcessDetector.cs192 // Step 2: Try to get command line with wmic for better validationCOMMENT
LOW⚡Server/src/cli/commands/ui.py38 # Step 1: Create empty GameObjectCOMMENT
LOW⚡Server/src/cli/commands/ui.py48 # Step 2: Add Canvas componentsCOMMENT
LOW⚡Server/src/cli/commands/ui.py119 # Step 2: Add RectTransform and TextMeshProUGUICOMMENT
LOW⚡Server/src/cli/commands/ui.py126 # Step 3: Set text contentCOMMENT
LOW⚡Server/src/cli/commands/ui.py172 # Step 2: Add Button and Image componentsCOMMENT
LOW⚡Server/src/cli/commands/ui.py180 # Step 3: Create child label GameObjectCOMMENT
LOW⚡Server/src/cli/commands/ui.py188 # Step 4: Add TextMeshProUGUI to label and set textCOMMENT
LOW⚡Server/src/cli/commands/ui.py240 # Step 2: Add Image componentCOMMENT
LOW⚡Server/src/cli/commands/ui.py247 # Step 3: Set sprite if providedCOMMENT
LOWServer/src/cli/commands/ui.py63 # Step 3: Set render modeCOMMENT
LOWServer/src/cli/commands/ui.py107 # Step 1: Create empty GameObject with parentCOMMENT
LOWServer/src/cli/commands/ui.py161 # Step 1: Create empty GameObject with parentCOMMENT
LOWServer/src/cli/commands/ui.py229 # Step 1: Create empty GameObject with parentCOMMENT
LOWServer/src/cli/commands/code.py195 # Step 1: Read the file via Unity's manage_scriptCOMMENT
LOWServer/src/cli/commands/code.py227 # Step 2: Perform regex search locallyCOMMENT
LOWServer/src/cli/commands/lighting.py58 # Step 1: Create empty GameObject with positionCOMMENT
LOWServer/src/cli/commands/lighting.py69 # Step 2: Add Light component using manage_componentsCOMMENT
LOWServer/src/cli/commands/lighting.py80 # Step 3: Set light type using manage_components set_propertyCOMMENT
LOWServer/src/cli/commands/lighting.py93 # Step 4: Set color if providedCOMMENT
LOWServer/src/cli/commands/lighting.py107 # Step 5: Set intensity if providedCOMMENT
LOW…ts/Tests/EditMode/Tools/DomainReloadResilienceTests.cs74 // Step 1: Create a script to trigger domain reloadCOMMENT
LOW…ts/Tests/EditMode/Tools/DomainReloadResilienceTests.cs92 // Step 2: Make multiple rapid read_console callsCOMMENT
LOW…ts/Tests/EditMode/Tools/DomainReloadResilienceTests.cs126 // Step 3: Verify all calls succeededCOMMENT
AI Slop Vocabulary20 hits · 54 pts
SeverityFileLineSnippetContext
MEDIUM⚡tools/local_harness.py97# recommendation, so the harness passes it explicitly.COMMENT
MEDIUM⚡tools/local_harness.py743# Launcher seam (local vs docker). Inlined here so the harness is a single,COMMENT
MEDIUMtools/local_harness.py714# discover_editor / resolve_version / classify_log / aggregate_exit; the harnessCOMMENT
MEDIUMtools/local_harness.py1230 # frees up or the deadline expires (rather than crashing the harness).COMMENT
MEDIUM⚡tools/tests/test_local_harness.py669 # harness docstring's -manualLicenseFile example must be passed).COMMENT
MEDIUM⚡tools/tests/test_local_harness.py791# must treat a raised transport error as non-terminal, not crash the harness.COMMENT
MEDIUM⚡tools/tests/test_build_release_characterization.py1329 """Test comprehensive version consistency validation checklist.STRING
MEDIUMtools/tests/test_build_release_characterization.py388 """Test comprehensive version consistency check across all files.STRING
MEDIUMMCPForUnity/Editor/Tools/ManageScriptableObject.cs607 // Use ParamCoercion for robust int parsingCOMMENT
MEDIUMMCPForUnity/Editor/Tools/ManageScriptableObject.cs924 // Use ParamCoercion for robust bool parsing (handles "true", "1", "yes", etc.)COMMENT
MEDIUMMCPForUnity/Editor/Tools/ManageScriptableObject.cs947 // Use ParamCoercion for robust float parsingCOMMENT
MEDIUMMCPForUnity/Editor/Tools/ManageAsset.cs427 // Deprecated: Prefer manage_scriptable_object for robust patching.COMMENT
MEDIUMMCPForUnity/Editor/Helpers/ComponentOps.cs869 /// to a SerializedProperty. Uses GameObjectLookup for robust searchCOMMENT
MEDIUM…s/RoslynRuntimeCompilation/ManageRuntimeCompilation.cs508 /// This allows MCP commands to leverage the existing GUI toolCOMMENT
LOW⚡Server/tests/test_transport_characterization.py1500 # Should not raise, just return NoneCOMMENT
LOWServer/src/services/tools/find_in_file.py167 # We can just return the line content as excerptCOMMENT
MEDIUMServer/src/services/tools/manage_asset.py62 # --- Normalize properties using robust module-level helper ---COMMENT
LOW.github/workflows/claude-nl-suite.yml1011 # Otherwise, just return the canonical IDSTRING
MEDIUM.github/workflows/e2e-bridge.yml143 # In --ci mode the harness drives the DockerLauncher: it runs the sameCOMMENT
MEDIUM.github/workflows/e2e-bridge.yml165 # The harness snapshots redacted Editor logs before removing its container.COMMENT
Cross-File Repetition9 hits · 45 pts
SeverityFileLineSnippetContext
HIGHServer/tests/test_manage_profiler.py0patch unity transport layer and return captured call dict.STRING
HIGHServer/tests/test_unity_reflect.py0patch unity transport layer and return captured call dict.STRING
HIGHServer/tests/test_manage_probuilder.py0patch unity transport layer and return captured call dict.STRING
HIGHServer/tests/test_manage_build.py0patch unity transport layer and return captured call dict.STRING
HIGHServer/tests/test_manage_camera.py0patch unity transport layer and return captured call dict.STRING
HIGHServer/tests/test_manage_graphics.py0patch unity transport layer and return captured call dict.STRING
HIGHServer/tests/test_unity_reflect.py0when unity returns a non-dict, it should be wrapped.STRING
HIGHServer/tests/test_manage_camera.py0when unity returns a non-dict, it should be wrapped.STRING
HIGHServer/tests/test_manage_graphics.py0when unity returns a non-dict, it should be wrapped.STRING
Self-Referential Comments9 hits · 28 pts
SeverityFileLineSnippetContext
MEDIUMServer/tests/test_cli.py1334 # Create a temp batch fileCOMMENT
MEDIUM⚡…ver/tests/integration/test_external_changes_scanner.py12 # Create a minimal Unity-like layoutCOMMENT
MEDIUM⚡…ver/tests/integration/test_external_changes_scanner.py22 # Create a file before baseline so the initial scan establishes a stable reference point.COMMENT
MEDIUM…ver/tests/integration/test_domain_reload_resilience.py22 # Create a mock registryCOMMENT
MEDIUM…ver/tests/integration/test_domain_reload_resilience.py77 # Create a mock registry that never returns sessionsCOMMENT
MEDIUM…ver/tests/integration/test_domain_reload_resilience.py227 # Create a mock registry with two sessionsCOMMENT
MEDIUMServer/src/core/config.py98# Create a global config instanceCOMMENT
MEDIUMServer/src/services/registry/tool_registry.py67 tool_kwargs = dict(kwargs) # Create a copy to avoid side effectsCODE
MEDIUM.github/workflows/beta-release.yml120 # Create a temporary branch for the version updateCOMMENT
Redundant / Tautological Comments18 hits · 26 pts
SeverityFileLineSnippetContext
LOWServer/tests/conftest.py54 # Check if test is in integration/ directoryCOMMENT
LOWServer/src/transport/plugin_hub.py708 # Check if we're still supposed to be running and get last pong time (under lock)COMMENT
LOWServer/src/transport/legacy/unity_connection.py229 # Check if we've received a complete responseCOMMENT
LOWServer/src/utils/focus_nudge.py766 # Check if job appears stalledSTRING
LOWServer/src/utils/module_discovery.py42 # Check if subdirectory contains Python modulesCOMMENT
LOWServer/src/cli/commands/code.py265 # Display resultsCOMMENT
LOWServer/src/cli/commands/lighting.py121 # Output the resultCOMMENT
LOWServer/src/services/tools/manage_gameobject.py294 # Check if 'saveAsPrefab' is explicitly True in paramsCOMMENT
LOW⚡Server/src/services/tools/manage_gameobject.py318 # Check if the response indicates successCOMMENT
LOWServer/src/services/tools/run_tests.py476 # Check if tests are doneCOMMENT
LOWServer/src/services/tools/utils.py245 # Check if it looks like a JSON array but will fail to parseCOMMENT
LOWServer/src/services/tools/utils.py296 # Check if input is normalized (0-1) or already 0-255COMMENT
LOWServer/src/services/tools/manage_script.py121 # Read file to support index->line/col conversion when neededCOMMENT
LOWServer/src/services/resources/__init__.py75 # Check if URI contains query parameters (e.g., {?unity_instance})COMMENT
LOW.github/workflows/release.yml120 # Check if beta has changes not in mainCOMMENT
LOW.github/workflows/beta-release.yml55 # Check if already a beta version - increment beta numberCOMMENT
LOW.github/workflows/beta-release.yml129 # Check if PR already existsCOMMENT
LOW.github/workflows/beta-release.yml188 # Check if already a beta/prerelease versionCOMMENT
Docstring Block Structure5 hits · 25 pts
SeverityFileLineSnippetContext
HIGHServer/src/transport/legacy/unity_connection.py560 Resolve an instance identifier to a specific Unity instance. Args: instance_identifier: UsSTRING
HIGHServer/src/transport/legacy/unity_connection.py674 Get or create a connection to a Unity instance. Args: instance_identifier: Optional identiSTRING
HIGHServer/src/cli/utils/parsers.py10Parse a value, trying JSON → float → string fallback. This is used for property values that could be JSON objects/aSTRING
HIGHServer/src/cli/utils/connection.py78Send a command to Unity via the MCP HTTP server. Args: command_type: The command type (e.g., 'manage_gameobSTRING
HIGHServer/src/cli/utils/confirmation.py13Prompt user to confirm destructive action unless --force flag is set. Args: action: The action being perforSTRING
AI Structural Patterns22 hits · 22 pts
SeverityFileLineSnippetContext
LOWServer/src/services/tools/manage_prefabs.py48CODE
LOWServer/src/services/tools/manage_gameobject.py136CODE
LOWServer/src/services/tools/run_tests.py334CODE
LOWServer/src/services/tools/blender_bridge.py57CODE
LOWServer/src/services/tools/manage_graphics.py81CODE
LOWServer/src/services/tools/manage_material.py24CODE
LOWServer/src/services/tools/read_console.py35CODE
LOWServer/src/services/tools/generate_image.py42CODE
LOWServer/src/services/tools/manage_asset.py30CODE
LOWServer/src/services/tools/manage_texture.py389CODE
LOWServer/src/services/tools/utils.py459CODE
LOWServer/src/services/tools/manage_build.py50CODE
LOWServer/src/services/tools/generate_audio.py42CODE
LOWServer/src/services/tools/manage_physics.py54CODE
LOWServer/src/services/tools/unity_docs.py722CODE
LOWServer/src/services/tools/manage_profiler.py63CODE
LOWServer/src/services/tools/manage_ui.py54CODE
LOWServer/src/services/tools/import_model.py42CODE
LOWServer/src/services/tools/manage_scene.py28CODE
LOWServer/src/services/tools/manage_sprite.py56CODE
LOWServer/src/services/tools/generate_model.py41CODE
LOWServer/src/services/tools/manage_camera.py79CODE
Cross-Language Confusion5 hits · 20 pts
SeverityFileLineSnippetContext
HIGHtools/ci_unity_license.py88 export GAME_CI_ACTIVATED_VIA="$(cat "$ACTIVATE_LICENSE_PATH/activated-via" 2>/dev/null)"CODE
HIGHtools/generate_docs_reference.py27 cd Server && uv sync && cd .. && uv --project Server run python tools/generate_docs_reference.py --checkSTRING
HIGH⚡tools/tests/test_ci_unity_license.py139 'test "$GAME_CI_ACTIVATED_VIA" = personal || exit 8\nRETURN_EXIT_CODE=0\n', encoding="utf-8")CODE
HIGH…ver/tests/test_core_infrastructure_characterization.py17 cd Server && uv run pytest tests/test_core_infrastructure_characterization.py -vSTRING
HIGHServer/src/services/tools/script_apply_edits.py701 "replacement": "public bool HasTarget(){ return currentTarget!=null; }"STRING
Magic Placeholder Names4 hits · 20 pts
SeverityFileLineSnippetContext
HIGHwebsite/docs/guides/remote-server-auth.md108 "X-API-Key": "<your-api-key>"CODE
HIGHwebsite/docs/guides/remote-server-auth.md119 --header "X-API-Key: <your-api-key>"CODE
HIGHServer/README.md229 "X-API-Key": "<your-api-key>"CODE
HIGHServer/DOCKER_OVERVIEW.md103 "X-API-Key": "<your-api-key>"CODE
Modern Structural Boilerplate18 hits · 18 pts
SeverityFileLineSnippetContext
LOWServer/tests/conftest.py8logger = logging.getLogger(__name__)CODE
LOWServer/src/transport/plugin_registry.py189__all__ = ["PluginRegistry", "PluginSession"]CODE
LOWServer/src/transport/unity_transport.py14logger = logging.getLogger(__name__)CODE
LOWServer/src/transport/plugin_hub.py38logger = logging.getLogger(__name__)CODE
LOWServer/src/transport/unity_instance_middleware.py39def set_unity_instance_middleware(middleware: 'UnityInstanceMiddleware') -> None:CODE
LOWServer/src/transport/unity_instance_middleware.py72 async def set_active_instance(self, ctx, instance_id: str) -> None:CODE
LOWServer/src/utils/focus_nudge.py22logger = logging.getLogger(__name__)CODE
LOWServer/src/models/__init__.py4__all__ = ['MCPResponse', 'UnityInstanceInfo', 'normalize_unity_response', 'parse_resource_response']CODE
LOWServer/src/cli/utils/config.py56def set_config(config: CLIConfig) -> None:CODE
LOWServer/src/cli/utils/__init__.py18__all__ = [CODE
LOWServer/src/services/api_key_service.py258__all__ = ["ApiKeyService", "ValidationResult"]CODE
LOWServer/src/services/tools/refresh_unity.py22logger = logging.getLogger(__name__)CODE
LOWServer/src/services/tools/run_tests.py29logger = logging.getLogger(__name__)CODE
LOWServer/src/services/tools/__init__.py17__all__ = [CODE
LOWServer/src/services/tools/batch_execute.py15logger = logging.getLogger(__name__)CODE
LOWServer/src/services/resources/__init__.py20__all__ = ['register_all_resources']CODE
LOWServer/src/services/state/external_changes_scanner.py51 def set_project_root(self, instance_id: str, project_root: str | None) -> None:CODE
LOWServer/src/services/registry/__init__.py18__all__ = [CODE
Modern AI Meta-Vocabulary5 hits · 15 pts
SeverityFileLineSnippetContext
MEDIUMMCPForUnity/Editor/Tools/Prefabs/ManagePrefabs.cs597 /// This is ideal for automated/agentic workflows as it avoids UI, dirty flags, and dialogs.COMMENT
MEDIUMServer/src/transport/plugin_hub.py881 # NOTE: This wait can impact agentic workflows where domain reloads happenCOMMENT
MEDIUMServer/src/transport/legacy/unity_connection.py851 # NOTE: This wait can impact agentic workflows where domain reloads happenCOMMENT
MEDIUM…Tests/EditMode/Tools/MaterialMeshInstantiationTests.cs200 // Removed low-value property-presence tests; the instanceID tests are the authoritative guardrails.COMMENT
MEDIUM…s/Assets/Tests/EditMode/AssetGen/AssetGenPrefsTests.cs10 /// Phase 0 scaffold: non-secret AssetGen preferences round-trip through EditorPrefsCOMMENT
Example Usage Blocks4 hits · 6 pts
SeverityFileLineSnippetContext
LOWtools/pypi_publish.sh13# Usage:COMMENT
LOWtools/install-hooks.sh4# Usage:COMMENT
LOWtools/docker_publish.sh8 # Usage:COMMENT
LOWtools/check-unity-versions.sh4# Usage:COMMENT
Fake / Example Data2 hits · 2 pts
SeverityFileLineSnippetContext
LOWunity-mcp-skill/references/workflows.md1158 "component_type": "TMP_InputField", "property": "placeholder",CODE
LOW.claude/skills/unity-mcp-skill/references/workflows.md1158 "component_type": "TMP_InputField", "property": "placeholder",CODE
TODO Padding1 hit · 0 pts
SeverityFileLineSnippetContext
LOWServer/tests/test_cli.py1466 "contents": "// TODO: implement this\n// FIXME: bug here\nclass Test {}\n",CODE